X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2edc119be3723571a39220acf6d82ce9d7c753a1..a111f2b216a90bacb254644d3cae526eddc9f9f1:/src/msw/icon.cpp?ds=sidebyside diff --git a/src/msw/icon.cpp b/src/msw/icon.cpp index 30edc93816..8f27b61324 100644 --- a/src/msw/icon.cpp +++ b/src/msw/icon.cpp @@ -35,6 +35,7 @@ #include "wx/app.h" #include "wx/icon.h" #include "wx/bitmap.h" + #include "wx/log.h" #endif #include "wx/msw/private.h" @@ -62,7 +63,9 @@ void wxIconRefData::Free() { if ( m_hIcon ) { +#ifndef __WXMICROWIN__ ::DestroyIcon((HICON) m_hIcon); +#endif m_hIcon = 0; } @@ -93,6 +96,7 @@ wxIcon::~wxIcon() void wxIcon::CopyFromBitmap(const wxBitmap& bmp) { +#ifndef __WXMICROWIN__ #ifdef __WIN32__ wxMask *mask = bmp.GetMask(); if ( !mask ) @@ -126,7 +130,7 @@ void wxIcon::CopyFromBitmap(const wxBitmap& bmp) HICON hicon = ::CreateIconIndirect(&iconInfo); if ( !hicon ) { - wxLogLastError("CreateIconIndirect"); + wxLogLastError(wxT("CreateIconIndirect")); } else { @@ -142,8 +146,18 @@ void wxIcon::CopyFromBitmap(const wxBitmap& bmp) #else // Win16 // there are some functions in curico.cpp which probably could be used // here... - wxFAIL_MSG("not implemented"); + // This probably doesn't work. + HBITMAP hBitmap = (HBITMAP) bmp.GetHBITMAP(); + HICON hIcon = MakeIconFromBitmap((HINSTANCE) wxGetInstance(), hBitmap); + if (hIcon) + { + SetHICON((WXHICON)hIcon); + SetSize(bmp.GetWidth(), bmp.GetHeight()); + } + +// wxFAIL_MSG("Bitmap to icon conversion (including use of XPMs for icons) not implemented"); #endif // Win32/16 +#endif } void wxIcon::CreateIconFromXpm(const char **data)