bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, const wxGDIImage& bitmap, const wxPoint& pos, const wxSize& size, long style, const wxString& name) { if ( !CreateControl(parent, id, pos, size, style, wxDefaultValidator, name) ) return false; // we may have either bitmap or icon: if a bitmap with mask is passed, we // will transform it to an icon ourselves because otherwise the mask will // be ignored by Windows m_isIcon = bitmap.IsKindOf(CLASSINFO(wxIcon)); wxGDIImage *image = ConvertImage( bitmap ); m_isIcon = image->IsKindOf( CLASSINFO(wxIcon) ); // create the native control if ( !MSWCreateControl(_T("STATIC"), wxEmptyString, pos, size) ) { // control creation failed return false; } // no need to delete the new image SetImageNoCopy(image); // GetBestSize will work properly now, so set the best size if needed SetInitialSize(size); return true; }
bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, const wxGDIImage& bitmap, const wxPoint& pos, const wxSize& size, long style, const wxString& name) { if ( !CreateControl(parent, id, pos, size, style, wxDefaultValidator, name) ) return false; // we may have either bitmap or icon: if a bitmap with mask is passed, we // will transform it to an icon ourselves because otherwise the mask will // be ignored by Windows m_isIcon = bitmap.IsKindOf(CLASSINFO(wxIcon)); wxGDIImage *image = ConvertImage( bitmap ); m_isIcon = image->IsKindOf( CLASSINFO(wxIcon) ); // create the native control if ( !MSWCreateControl(wxT("STATIC"), wxEmptyString, pos, size) ) { // control creation failed return false; } // no need to delete the new image SetImageNoCopy(image); // GetBestSize will work properly now, so set the best size if needed SetInitialSize(size); // painting manually is reported not to work under Windows CE (see #10093), // so don't do it there even if this probably means that alpha is not // supported there -- but at least bitmaps without alpha appear correctly #ifndef __WXWINCE__ // Windows versions before XP (and even XP if the application has no // manifest and so the old comctl32.dll is used) don't draw correctly the // images with alpha channel so we need to draw them ourselves and it's // easier to just always do it rather than check if we have an image with // alpha or not if ( wxTheApp->GetComCtl32Version() < 600 ) { Connect(wxEVT_PAINT, wxPaintEventHandler(wxStaticBitmap::DoPaintManually)); } #endif // !__WXWINCE__ return true; }
bool wxStaticBitmap::Create(wxWindow *parent, wxWindowID id, const wxGDIImage& bitmap, const wxPoint& pos, const wxSize& size, long style, const wxString& name) { if ( !CreateControl(parent, id, pos, size, style, wxDefaultValidator, name) ) return false; // we may have either bitmap or icon: if a bitmap with mask is passed, we // will transform it to an icon ourselves because otherwise the mask will // be ignored by Windows m_isIcon = bitmap.IsKindOf(CLASSINFO(wxIcon)); wxGDIImage *image = ConvertImage( bitmap ); m_isIcon = image->IsKindOf( CLASSINFO(wxIcon) ); // create the native control if ( !MSWCreateControl(_T("STATIC"), wxEmptyString, pos, size) ) { // control creation failed return false; } // no need to delete the new image SetImageNoCopy(image); // GetBestSize will work properly now, so set the best size if needed SetInitialSize(size); // Win9x and 2000 don't draw correctly the images with alpha channel so we // need to draw them ourselves and it's easier to just always do it rather // than check if we have an image with alpha or not if ( wxGetWinVersion() <= wxWinVersion_2000 ) { Connect(wxEVT_PAINT, wxPaintEventHandler(wxStaticBitmap::DoPaintManually)); } return true; }
void wxStaticBitmap::SetImage( const wxGDIImage* image ) { wxGDIImage* convertedImage = ConvertImage( *image ); SetImageNoCopy( convertedImage ); InvalidateBestSize(); }
void wxStaticBitmap::SetImage( const wxGDIImage* image ) { wxGDIImage* convertedImage = ConvertImage( *image ); SetImageNoCopy( convertedImage ); }