#include "wx/msw/private.h"
+#ifndef ICON_BIG
+ #define ICON_BIG 1
+#endif
+
+#ifndef ICON_SMALL
+ #define ICON_SMALL 0
+#endif
+
// ----------------------------------------------------------------------------
// stubs for missing functions under MicroWindows
// ----------------------------------------------------------------------------
// wxTopLevelWindowMSW implementation
// ============================================================================
+// ----------------------------------------------------------------------------
+// wxDialog helpers
+// ----------------------------------------------------------------------------
+
// Dialog window proc
LONG APIENTRY _EXPORT
-wxDlgProc(HWND WXUNUSED(hWnd), UINT message, WPARAM WXUNUSED(wParam), LPARAM WXUNUSED(lParam))
+wxDlgProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
- if ( message == WM_INITDIALOG )
+ switch ( message )
{
- // for this message, returning TRUE tells system to set focus to the
- // first control in the dialog box
- return TRUE;
- }
- else
- {
- // for all the other ones, FALSE means that we didn't process the
- // message
- return FALSE;
+ case WM_INITDIALOG:
+ // for this message, returning TRUE tells system to set focus to the
+ // first control in the dialog box
+ return TRUE;
+
+ default:
+ // for all the other ones, FALSE means that we didn't process the
+ // message
+ return FALSE;
}
}
void wxTopLevelWindowMSW::SetIcon(const wxIcon& icon)
{
- // this sets m_icon
- wxTopLevelWindowBase::SetIcon(icon);
+ SetIcons( wxIconBundle( icon ) );
+}
+
+void wxTopLevelWindowMSW::SetIcons(const wxIconBundle& icons)
+{
+ wxTopLevelWindowBase::SetIcons(icons);
#if defined(__WIN95__) && !defined(__WXMICROWIN__)
- if ( m_icon.Ok() )
+ const wxIcon& sml = icons.GetIcon( wxSize( 16, 16 ) );
+ if( sml.Ok() && sml.GetWidth() == 16 && sml.GetHeight() == 16 )
+ {
+ ::SendMessage( GetHwndOf( this ), WM_SETICON, ICON_SMALL,
+ (LPARAM)GetHiconOf(sml) );
+ }
+
+ const wxIcon& big = icons.GetIcon( wxSize( 32, 32 ) );
+ if( big.Ok() && big.GetWidth() == 32 && big.GetHeight() == 32 )
{
- ::SendMessage(GetHwnd(), WM_SETICON,
- (WPARAM)TRUE, (LPARAM)GetHiconOf(m_icon));
+ ::SendMessage( GetHwndOf( this ), WM_SETICON, ICON_BIG,
+ (LPARAM)GetHiconOf(big) );
}
#endif // __WIN95__
}