}
#ifndef __WXWINCE__
- if ( style & wxSYSTEM_MENU )
+ // notice that if wxCLOSE_BOX is specified we need to use WS_SYSMENU too as
+ // otherwise the close box doesn't appear
+ if ( style & (wxSYSTEM_MENU | wxCLOSE_BOX) )
msflags |= WS_SYSMENU;
-#endif
+#endif // !__WXWINCE__
// NB: under CE these 2 styles are not supported currently, we should
// call Minimize()/Maximize() "manually" if we want to support them
return false;
}
- WXDWORD exflags;
- (void)MSWGetCreateWindowFlags(&exflags);
-
- if ( exflags )
- {
- ::SetWindowLong(GetHwnd(), GWL_EXSTYLE, exflags);
- ::SetWindowPos(GetHwnd(),
- exflags & WS_EX_TOPMOST ? HWND_TOPMOST : 0,
- 0, 0, 0, 0,
- SWP_NOSIZE |
- SWP_NOMOVE |
- (exflags & WS_EX_TOPMOST ? 0 : SWP_NOZORDER) |
- SWP_NOACTIVATE);
- }
-
#if !defined(__WXWINCE__)
// For some reason, the system menu is activated when we use the
// WS_EX_CONTEXTHELP style, so let's set a reasonable icon
- if ( exflags & WS_EX_CONTEXTHELP )
+ if ( HasExtraStyle(wxWS_EX_CONTEXTHELP) )
{
wxFrame *winTop = wxDynamicCast(wxTheApp->GetTopWindow(), wxFrame);
if ( winTop )
}
}
}
-#endif
+#endif // !__WXWINCE__
// move the dialog to its initial position without forcing repainting
int x, y, w, h;
// reuse the code in MSWGetStyle() but correct the results slightly for
// the dialog
- dlgTemplate->style = MSWGetStyle(style, NULL);
+ dlgTemplate->style = MSWGetStyle(style, &dlgTemplate->dwExtendedStyle);
// all dialogs are popups
dlgTemplate->style |= WS_POPUP;
// finally send an event allowing the window to relayout itself &c
wxSizeEvent event(rect.GetSize(), GetId());
- GetEventHandler()->ProcessEvent(event);
+ HandleWindowEvent(event);
}
else // stop showing full screen
{