Handle WM_*MENU* events in wxWindow.
Contrary to MSDN implications, at least some of these messages are not actually sent to the TLW for popup menus, but to the owning window or even its parent window (!). Move the handling of these events from wxTLW to wxWindow. Move menu depth tracking to wxFrame, because it only makes sense for frame's menus and move DoGiveHelp() from wxTLW to wxFrame. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -121,22 +121,6 @@ public:
|
||||
// returns true if the platform should explicitly apply a theme border
|
||||
virtual bool CanApplyThemeBorder() const { return false; }
|
||||
|
||||
#if wxUSE_MENUS && !defined(__WXUNIVERSAL__)
|
||||
bool HandleMenuSelect(WXWORD nItem, WXWORD nFlags, WXHMENU hMenu);
|
||||
|
||||
// handle WM_EXITMENULOOP message for Win95 only
|
||||
bool HandleExitMenuLoop(WXWORD isPopup);
|
||||
|
||||
// handle WM_(UN)INITMENUPOPUP message to generate wxEVT_MENU_OPEN/CLOSE
|
||||
bool HandleMenuPopup(wxEventType evtType, WXHMENU hMenu);
|
||||
|
||||
// Command part of HandleMenuPopup() and HandleExitMenuLoop().
|
||||
bool DoSendMenuOpenCloseEvent(wxEventType evtType, wxMenu* menu, bool popup);
|
||||
|
||||
// Find the menu corresponding to the given handle.
|
||||
virtual wxMenu* MSWFindMenuFromHMENU(WXHMENU hMenu);
|
||||
#endif // wxUSE_MENUS && !__WXUNIVERSAL__
|
||||
|
||||
protected:
|
||||
// common part of all ctors
|
||||
void Init();
|
||||
@@ -251,10 +235,6 @@ private:
|
||||
// MSWGetSystemMenu(). Owned by this window.
|
||||
wxMenu *m_menuSystem;
|
||||
|
||||
// The number of currently opened menus: 0 initially, 1 when a top level
|
||||
// menu is opened, 2 when its submenu is opened and so on.
|
||||
int m_menuDepth;
|
||||
|
||||
DECLARE_EVENT_TABLE()
|
||||
wxDECLARE_NO_COPY_CLASS(wxTopLevelWindowMSW);
|
||||
};
|
||||
|
Reference in New Issue
Block a user