#include #include #include StatusBarMenu::StatusBarMenu(void) { } StatusBarMenu::StatusBarMenu(const StatusBarMenu &someStatusBarMenu) { // private implementation *this=someStatusBarMenu; } StatusBarMenu::StatusBarMenu(const GUIWindow &someGUIWindow) : mTopLevelMenu(someGUIWindow.getMenu()) { sizeMenuItems(mTopLevelMenu); } StatusBarMenu::~StatusBarMenu() { } StatusBarMenu &StatusBarMenu::operator=(const GUIWindow &someGUIWindow) { mTopLevelMenu=someGUIWindow.getMenu(); sizeMenuItems(mTopLevelMenu); return *this; } StatusBarMenu &StatusBarMenu::operator=(const PureMenu &somePureMenu) { mTopLevelMenu=(HMENU)somePureMenu; sizeMenuItems(mTopLevelMenu); return *this; } StatusBarMenu &StatusBarMenu::operator=(const StatusBarMenu &/*someStatusBarMenu*/) { return *this; } void StatusBarMenu::sizeMenuItems(HMENU hTopLevelMenu) { WORD menuItems(::GetMenuItemCount(mTopLevelMenu=hTopLevelMenu)); if(0xFFFF==menuItems||!menuItems)return; mPopUpMenu.size(menuItems); for(int i=0;i &menuLabels) { size_t labelItems((WORD)menuLabels.size()); size_t menuItems((WORD)mPopUpMenu.size()); for(int itemIndex=0;itemIndex=labelItems)return FALSE; if(itemIndex>=menuItems)return FALSE; String menuLabelString=menuLabels[itemIndex]; mPopUpMenu[itemIndex].menuLabel(menuLabelString); } return TRUE; } WORD StatusBarMenu::setMenuItemDescriptors(Block &menuItems) { size_t size((WORD)menuItems.size()); WORD returnCode(0); for(int i=0;i