added EVT_MENU_OPEN and EVT_MENU_CLOSE events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@14376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -763,7 +763,17 @@ bool wxFrame::HandleMenuSelect(WXWORD nItem, WXWORD flags, WXHMENU hMenu)
|
||||
}
|
||||
|
||||
wxMenuEvent event(wxEVT_MENU_HIGHLIGHT, item);
|
||||
event.SetEventObject( this );
|
||||
event.SetEventObject(this);
|
||||
|
||||
return GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
|
||||
bool wxFrame::HandleMenuLoop(const wxEventType& evtType, WXWORD isPopup)
|
||||
{
|
||||
// we don't have the menu id here, so we use the id to specify if the event
|
||||
// was from a popup menu or a normal one
|
||||
wxMenuEvent event(evtType, isPopup ? -1 : 0);
|
||||
event.SetEventObject(this);
|
||||
|
||||
return GetEventHandler()->ProcessEvent(event);
|
||||
}
|
||||
@@ -785,6 +795,10 @@ long wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
|
||||
processed = !Close();
|
||||
break;
|
||||
|
||||
case WM_SIZE:
|
||||
processed = HandleSize(LOWORD(lParam), HIWORD(lParam), wParam);
|
||||
break;
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
WORD id, cmd;
|
||||
@@ -796,6 +810,10 @@ long wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_PAINT:
|
||||
processed = HandlePaint();
|
||||
break;
|
||||
|
||||
#ifndef __WXMICROWIN__
|
||||
case WM_MENUSELECT:
|
||||
{
|
||||
@@ -806,13 +824,17 @@ long wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
|
||||
processed = HandleMenuSelect(item, flags, hmenu);
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
case WM_PAINT:
|
||||
processed = HandlePaint();
|
||||
#ifndef __WIN16__
|
||||
case WM_ENTERMENULOOP:
|
||||
processed = HandleMenuLoop(wxEVT_MENU_OPEN, wParam);
|
||||
break;
|
||||
|
||||
#ifndef __WXMICROWIN__
|
||||
case WM_EXITMENULOOP:
|
||||
processed = HandleMenuLoop(wxEVT_MENU_CLOSE, wParam);
|
||||
break;
|
||||
#endif // __WIN16__
|
||||
|
||||
case WM_QUERYDRAGICON:
|
||||
{
|
||||
HICON hIcon = m_icon.Ok() ? GetHiconOf(m_icon)
|
||||
@@ -821,11 +843,7 @@ long wxFrame::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
|
||||
processed = rc != 0;
|
||||
}
|
||||
break;
|
||||
#endif
|
||||
|
||||
case WM_SIZE:
|
||||
processed = HandleSize(LOWORD(lParam), HIWORD(lParam), wParam);
|
||||
break;
|
||||
#endif // !__WXMICROWIN__
|
||||
}
|
||||
|
||||
if ( !processed )
|
||||
|
Reference in New Issue
Block a user