simplify the code for extended flags handling fixing a rare bug with wxSTAY_ON_TOP being ignored in some situations

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@49086 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-10-07 22:11:55 +00:00
parent f73eddd2a5
commit 8e5dbcdd50
3 changed files with 16 additions and 18 deletions

View File

@@ -168,6 +168,7 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_MENU(DIALOGS_CENTRE_SCREEN, MyFrame::DlgCenteredScreen)
EVT_MENU(DIALOGS_CENTRE_PARENT, MyFrame::DlgCenteredParent)
EVT_MENU(DIALOGS_MINIFRAME, MyFrame::MiniFrame)
EVT_MENU(DIALOGS_ONTOP, MyFrame::DlgOnTop)
#if wxUSE_STARTUP_TIPS
EVT_MENU(DIALOGS_TIP, MyFrame::ShowTip)
@@ -390,6 +391,7 @@ bool MyApp::OnInit()
dialogs_menu->Append(DIALOGS_CENTRE_SCREEN, _T("Centered on &screen\tShift-Ctrl-1"));
dialogs_menu->Append(DIALOGS_CENTRE_PARENT, _T("Centered on &parent\tShift-Ctrl-2"));
dialogs_menu->Append(DIALOGS_MINIFRAME, _T("&Mini frame"));
dialogs_menu->Append(DIALOGS_ONTOP, _T("Dialog staying on &top"));
menuDlg->Append(wxID_ANY, _T("&Generic dialogs"), dialogs_menu);
#if USE_SETTINGS_DIALOG
@@ -1057,6 +1059,15 @@ void MyFrame::MiniFrame(wxCommandEvent& WXUNUSED(event))
frame->Show();
}
void MyFrame::DlgOnTop(wxCommandEvent& WXUNUSED(event))
{
wxDialog dlg(this, wxID_ANY, _T("Dialog staying on top of other windows"),
wxDefaultPosition, wxSize(300, 100),
wxDEFAULT_DIALOG_STYLE | wxSTAY_ON_TOP);
(new wxButton(&dlg, wxID_OK, _T("Close")))->Centre();
dlg.ShowModal();
}
#if wxUSE_STARTUP_TIPS
void MyFrame::ShowTip(wxCommandEvent& WXUNUSED(event))
{