Added submenu
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@20839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -94,6 +94,10 @@ protected:
|
|||||||
void OnTestCheck(wxCommandEvent& event);
|
void OnTestCheck(wxCommandEvent& event);
|
||||||
void OnTestRadio(wxCommandEvent& event);
|
void OnTestRadio(wxCommandEvent& event);
|
||||||
|
|
||||||
|
void OnUpdateSubMenuNormal(wxUpdateUIEvent& event);
|
||||||
|
void OnUpdateSubMenuCheck(wxUpdateUIEvent& event);
|
||||||
|
void OnUpdateSubMenuRadio(wxUpdateUIEvent& event);
|
||||||
|
|
||||||
#if defined( __WXMSW__ ) || defined( __WXMAC__ )
|
#if defined( __WXMSW__ ) || defined( __WXMAC__ )
|
||||||
void OnContextMenu(wxContextMenuEvent& event)
|
void OnContextMenu(wxContextMenuEvent& event)
|
||||||
{ ShowContextMenu(ScreenToClient(event.GetPosition())); }
|
{ ShowContextMenu(ScreenToClient(event.GetPosition())); }
|
||||||
@@ -188,6 +192,13 @@ enum
|
|||||||
Menu_Test_Radio2,
|
Menu_Test_Radio2,
|
||||||
Menu_Test_Radio3,
|
Menu_Test_Radio3,
|
||||||
|
|
||||||
|
Menu_SubMenu = 450,
|
||||||
|
Menu_SubMenu_Normal,
|
||||||
|
Menu_SubMenu_Check,
|
||||||
|
Menu_SubMenu_Radio1,
|
||||||
|
Menu_SubMenu_Radio2,
|
||||||
|
Menu_SubMenu_Radio3,
|
||||||
|
|
||||||
Menu_Dummy_First = 500,
|
Menu_Dummy_First = 500,
|
||||||
Menu_Dummy_Second,
|
Menu_Dummy_Second,
|
||||||
Menu_Dummy_Third,
|
Menu_Dummy_Third,
|
||||||
@@ -240,6 +251,12 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
|
|||||||
EVT_MENU(Menu_Test_Radio2, MyFrame::OnTestRadio)
|
EVT_MENU(Menu_Test_Radio2, MyFrame::OnTestRadio)
|
||||||
EVT_MENU(Menu_Test_Radio3, MyFrame::OnTestRadio)
|
EVT_MENU(Menu_Test_Radio3, MyFrame::OnTestRadio)
|
||||||
|
|
||||||
|
EVT_UPDATE_UI(Menu_SubMenu_Normal, MyFrame::OnUpdateSubMenuNormal)
|
||||||
|
EVT_UPDATE_UI(Menu_SubMenu_Check, MyFrame::OnUpdateSubMenuCheck)
|
||||||
|
EVT_UPDATE_UI(Menu_SubMenu_Radio1, MyFrame::OnUpdateSubMenuRadio)
|
||||||
|
EVT_UPDATE_UI(Menu_SubMenu_Radio2, MyFrame::OnUpdateSubMenuRadio)
|
||||||
|
EVT_UPDATE_UI(Menu_SubMenu_Radio3, MyFrame::OnUpdateSubMenuRadio)
|
||||||
|
|
||||||
EVT_MENU_RANGE(Menu_Dummy_First, Menu_Dummy_Last, MyFrame::OnDummy)
|
EVT_MENU_RANGE(Menu_Dummy_First, Menu_Dummy_Last, MyFrame::OnDummy)
|
||||||
|
|
||||||
EVT_UPDATE_UI(Menu_Menu_Check, MyFrame::OnUpdateCheckMenuItemUI)
|
EVT_UPDATE_UI(Menu_Menu_Check, MyFrame::OnUpdateCheckMenuItemUI)
|
||||||
@@ -337,6 +354,15 @@ MyFrame::MyFrame()
|
|||||||
menubarMenu->Append(Menu_MenuBar_FindMenu, _T("&Find menu from label\tCtrl-F"),
|
menubarMenu->Append(Menu_MenuBar_FindMenu, _T("&Find menu from label\tCtrl-F"),
|
||||||
_T("Find a menu by searching for its label"));
|
_T("Find a menu by searching for its label"));
|
||||||
|
|
||||||
|
wxMenu* subMenu = new wxMenu;
|
||||||
|
subMenu->Append(Menu_SubMenu_Normal, _T("&Normal submenu item"), _T("Disabled submenu item"));
|
||||||
|
subMenu->AppendCheckItem(Menu_SubMenu_Check, _T("&Unchecked submenu item"), _T("Unchecked submenu item"));
|
||||||
|
subMenu->AppendRadioItem(Menu_SubMenu_Radio1, _T("&Radio item 1"), _T("Radio item"));
|
||||||
|
subMenu->AppendRadioItem(Menu_SubMenu_Radio2, _T("&Radio item 2"), _T("Radio item"));
|
||||||
|
subMenu->AppendRadioItem(Menu_SubMenu_Radio3, _T("&Radio item 3"), _T("Radio item"));
|
||||||
|
|
||||||
|
menubarMenu->Append(Menu_SubMenu, _T("Submenu"), subMenu);
|
||||||
|
|
||||||
wxMenu *menuMenu = new wxMenu;
|
wxMenu *menuMenu = new wxMenu;
|
||||||
menuMenu->Append(Menu_Menu_Append, _T("&Append menu item\tAlt-A"),
|
menuMenu->Append(Menu_Menu_Append, _T("&Append menu item\tAlt-A"),
|
||||||
_T("Append a menu item to the last menu"));
|
_T("Append a menu item to the last menu"));
|
||||||
@@ -872,6 +898,26 @@ void MyFrame::LogMenuOpenOrClose(const wxMenuEvent& event, const wxChar *what)
|
|||||||
event.IsPopup() ? _T("popup ") : _T(""), what);
|
event.IsPopup() ? _T("popup ") : _T(""), what);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void MyFrame::OnUpdateSubMenuNormal(wxUpdateUIEvent& event)
|
||||||
|
{
|
||||||
|
event.Enable(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MyFrame::OnUpdateSubMenuCheck(wxUpdateUIEvent& event)
|
||||||
|
{
|
||||||
|
event.Enable(TRUE);
|
||||||
|
event.Check(TRUE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MyFrame::OnUpdateSubMenuRadio(wxUpdateUIEvent& event)
|
||||||
|
{
|
||||||
|
int which = (event.GetId() - Menu_SubMenu_Radio1 + 1);
|
||||||
|
if (which == 2)
|
||||||
|
event.Check(TRUE);
|
||||||
|
else
|
||||||
|
event.Check(FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
void MyFrame::OnSize(wxSizeEvent& event)
|
void MyFrame::OnSize(wxSizeEvent& event)
|
||||||
{
|
{
|
||||||
if ( !m_textctrl )
|
if ( !m_textctrl )
|
||||||
|
Reference in New Issue
Block a user