Factor out wxTopLevelWindow::MSWEnableCloseButton()
Make it possible to reuse this code for other, non-wx, windows. No real changes, this is just a pure refactoring.
This commit is contained in:
@@ -986,10 +986,11 @@ void wxTopLevelWindowMSW::SetIcons(const wxIconBundle& icons)
|
||||
DoSelectAndSetIcon(icons, SM_CXICON, SM_CYICON, ICON_BIG);
|
||||
}
|
||||
|
||||
bool wxTopLevelWindowMSW::EnableCloseButton(bool enable)
|
||||
// static
|
||||
bool wxTopLevelWindowMSW::MSWEnableCloseButton(WXHWND hwnd, bool enable)
|
||||
{
|
||||
// get system (a.k.a. window) menu
|
||||
HMENU hmenu = GetSystemMenu(GetHwnd(), FALSE /* get it */);
|
||||
HMENU hmenu = GetSystemMenu(hwnd, FALSE /* get it */);
|
||||
if ( !hmenu )
|
||||
{
|
||||
// no system menu at all -- ok if we want to remove the close button
|
||||
@@ -1008,7 +1009,7 @@ bool wxTopLevelWindowMSW::EnableCloseButton(bool enable)
|
||||
return false;
|
||||
}
|
||||
// update appearance immediately
|
||||
if ( !::DrawMenuBar(GetHwnd()) )
|
||||
if ( !::DrawMenuBar(hwnd) )
|
||||
{
|
||||
wxLogLastError(wxT("DrawMenuBar"));
|
||||
}
|
||||
@@ -1016,6 +1017,11 @@ bool wxTopLevelWindowMSW::EnableCloseButton(bool enable)
|
||||
return true;
|
||||
}
|
||||
|
||||
bool wxTopLevelWindowMSW::EnableCloseButton(bool enable)
|
||||
{
|
||||
return MSWEnableCloseButton(GetHwnd(), enable);
|
||||
}
|
||||
|
||||
// Window must have wxCAPTION and either wxCLOSE_BOX or wxSYSTEM_MENU for the
|
||||
// button to be visible. Also check for wxMAXIMIZE_BOX because we don't want
|
||||
// to enable a button that is excluded from the current style.
|
||||
|
||||
Reference in New Issue
Block a user