139 friend class SMenuExItem;
140 friend class SMenuExRunData;
141 friend class SMenuExRoot;
180 STDMETHOD_(BOOL, LoadMenu)(THIS_ LPCTSTR resId) OVERRIDE;
187 STDMETHOD_(BOOL, LoadMenuU8)(THIS_ LPCSTR resId) OVERRIDE;
194 STDMETHOD_(BOOL, LoadMenu2)(THIS_
IXmlNode *xmlMenu) OVERRIDE;
205 STDMETHOD_(BOOL, InsertMenu)(THIS_ UINT uPosition, UINT uFlags,
int nIDNewItem, LPCTSTR strText,
int iIcon DEF_VAL(-1)) OVERRIDE;
215 STDMETHOD_(BOOL, AppendMenu)(THIS_ UINT uFlags,
int uIDNewItem, LPCTSTR lpNewItem,
int iIcon DEF_VAL(-1)) OVERRIDE;
225 STDMETHOD_(BOOL, CheckMenuRadioItem)(THIS_ UINT idFirst, UINT idLast, UINT idCheck, UINT uFlags) OVERRIDE;
233 STDMETHOD_(BOOL, CheckMenuItem)(THIS_ UINT uIdCheckItem, UINT uCheck) OVERRIDE;
241 STDMETHOD_(BOOL, DeleteMenu)(THIS_ UINT uPosition, UINT uFlags) OVERRIDE;
252 STDMETHOD_(UINT, TrackPopupMenu)(THIS_ UINT uFlags,
int x,
int y, HWND hWnd,
int nScale DEF_VAL(100)) OVERRIDE;
257 STDMETHOD_(
void, DestroyMenu)(THIS) OVERRIDE;
266 STDMETHOD_(BOOL, ModifyMenuString)(THIS_ UINT uPosition, UINT uFlags, LPCTSTR lpItemString) OVERRIDE;
275 STDMETHOD_(BOOL, SetMenuUserData)(THIS_ UINT uPosition, UINT uFlags, ULONG_PTR ulUserData) OVERRIDE;
283 STDMETHOD_(ULONG_PTR, GetMenuUserData)(THIS_ UINT uPosition, UINT uFlags) OVERRIDE;
289 STDMETHOD_(DWORD, GetContextHelpId)(THIS) SCONST OVERRIDE;
295 STDMETHOD_(
void, SetContextHelpId)(THIS_ DWORD dwId) OVERRIDE;
302 STDMETHOD_(IMenuEx *, GetSubMenu)(THIS_
int nPos) OVERRIDE;
311 STDMETHOD_(BOOL, GetMenuString)(THIS_ UINT uPosition, UINT uFlags, IStringT *lpItemString) OVERRIDE;
327 static void EndMenu(
int nCmdId = 0);
350 SMenuEx *GetSubMenu(
int nID, BOOL byCmdId);
366 BOOL IniNullMenu(SMenuExRoot *ParentRoot);
375 int OnMouseActivate(HWND wndTopLevel, UINT nHitTest, UINT message);
381 void OnTimer(UINT_PTR timeID);
389 void OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags);
392 MSG_WM_MOUSEACTIVATE(OnMouseActivate)
393 MSG_WM_TIMER(OnTimer)
394 MSG_WM_KEYDOWN(OnKeyDown)
404 virtual BOOL _HandleEvent(IEvtArgs *pEvt);
411 BOOL OnLoadLayoutFromResourceID(
SXmlDoc &xmlDoc) override;
423 STDMETHOD_(LPCWSTR, GetTranslatorContext)(THIS) SCONST OVERRIDE;
429 STDMETHOD_(
int, GetScale)() SCONST OVERRIDE;
437 SWindow *FindItem(UINT uPos, UINT uFlag);
445 void ShowMenu(UINT uFlag,
int x,
int y);
451 void HideMenu(BOOL bUncheckParentItem);
462 void RunMenu(HWND hOwner);
469 void PopupSubMenu(
SMenuExItem *pItem, BOOL bCheckFirstItem);
475 void OnSubMenuHided(BOOL bUncheckItem);
487 void SendInitPopupMenu2Owner(
int idx);
493 BOOL m_bMenuInitialized;