#if !defined(AFX_MenuBarXP_H__C492FD05_285B_11D5_99BD_5254AB339987__INCLUDED_) #define AFX_MenuBarXP_H__C492FD05_285B_11D5_99BD_5254AB339987__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // MenuBarXP.h : header file // #include "ToolBarXP.h" #define MB_POPUPMENU WM_USER + 1101 ///////////////////////////////////////////////////////////////////////////// // CMenuBarXP window class CMenuBarXP : public CToolBarXP { // Construction public: CMenuBarXP(); // Attributes protected: CMenu* m_pMenu; int m_nItemCount; int m_nPressed; POINT m_ptMouse; BOOL m_bTrack; CImageList m_ilIcons; //override // Operations public: BOOL LoadMenu(CMenu *pMenu); void TrackPopup(); BOOL OnMenuInput(MSG* pMsg); static LRESULT CALLBACK MenuInputFilter(int nCode, WPARAM wParam, LPARAM lParam); BOOL OpenMenu(UINT nChar); // Overrides // ClassWizard generated virtual function overrides //{{AFX_VIRTUAL(CMenuBarXP) //}}AFX_VIRTUAL // Implementation public: virtual ~CMenuBarXP(); // Generated message map functions protected: //{{AFX_MSG(CMenuBarXP) afx_msg void OnLButtonDown(UINT nFlags, CPoint point); afx_msg void OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpMeasureItemStruct); afx_msg LRESULT OnMenuChar(UINT nChar, UINT nFlags, CMenu* pMenu); afx_msg void OnInitMenuPopup(CMenu* pPopupMenu, UINT nIndex, BOOL bSysMenu); //}}AFX_MSG afx_msg LRESULT OnPopupMenu(WPARAM wParam, LPARAM lParam); afx_msg void OnExitMenuLoop(BOOL bTrackPopupMenu); afx_msg void OnEnterMenuLoop(BOOL bTrackPopupMenu); DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ will insert additional declarations immediately before the previous line. #endif // !defined(AFX_MenuBarXP_H__C492FD05_285B_11D5_99BD_5254AB339987__INCLUDED_)