// macros
 // ---------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxStaticBitmap, wxControl)
-
 BEGIN_EVENT_TABLE(wxStaticBitmap, wxWindow)
     EVT_PAINT(wxStaticBitmap::OnPaint)
 END_EVENT_TABLE()
     if(!bIsIcon )
     {
         wxASSERT_MSG( wxDynamicCast(&rBitmap, wxBitmap),
-                      _T("not an icon and not a bitmap?") );
+                      wxT("not an icon and not a bitmap?") );
 
         const wxBitmap&             rBmp = (const wxBitmap&)rBitmap;
         wxMask*                     pMask = rBmp.GetMask();
 
 bool wxStaticBitmap::ImageIsOk() const
 {
-    return(m_pImage && m_pImage->Ok());
+    return(m_pImage && m_pImage->IsOk());
 }
 
 void wxStaticBitmap::Free()
 {
-    if (m_pImage)
-        delete m_pImage;
-    m_pImage = NULL;
+    wxDELETE(m_pImage);
 } // end of wxStaticBitmap::Free
 
 wxSize wxStaticBitmap::DoGetBestSize() const