#ifndef _STATBAR_POPUPMENU_HPP_ #define _STATBAR_POPUPMENU_HPP_ #ifndef _COMMON_PUREMENU_HPP_ #include #endif #ifndef _COMMON_MENUITEM_HPP_ #include #endif #ifndef _COMMON_EXCEPTION_HPP_ #include #endif class PopUpMenu : public PureMenu { public: PopUpMenu(void); PopUpMenu(const PureMenu &topLevelMenu); ~PopUpMenu(); String menuLabel(void)const; void menuLabel(String menuLabel); PopUpMenu &operator=(const PureMenu &somePureMenu); PopUpMenu &operator=(HMENU hMenu); WORD operator==(const PopUpMenu &somePopUpMenu)const; MenuItem &operator[](long itemIndex); long size(void)const; void size(long newSize); private: String mMenuLabel; MenuItem *mlpMenuItem; WORD mSize; }; inline MenuItem &PopUpMenu::operator[](long itemIndex) { if(!mlpMenuItem)throw(NullError()); return mlpMenuItem[itemIndex]; } inline long PopUpMenu::size(void)const { return mSize; } #endif