Initial
This commit is contained in:
62
statbar/POPUP.CPP
Normal file
62
statbar/POPUP.CPP
Normal file
@@ -0,0 +1,62 @@
|
||||
#include <statbar/popup.hpp>
|
||||
|
||||
PopUpMenu::PopUpMenu(void)
|
||||
: mSize(0), mlpMenuItem(0)
|
||||
{
|
||||
}
|
||||
|
||||
PopUpMenu::PopUpMenu(const PureMenu &topLevelMenu)
|
||||
: PureMenu((HMENU)topLevelMenu), mlpMenuItem(0)
|
||||
{
|
||||
size(::GetMenuItemCount((PureMenu&)*this));
|
||||
}
|
||||
|
||||
void PopUpMenu::size(long newSize)
|
||||
{
|
||||
if(mlpMenuItem)
|
||||
{
|
||||
#ifdef __FLAT__
|
||||
::GlobalUnlock((HGLOBAL)::GlobalHandle((LPCVOID)mlpMenuItem));
|
||||
::GlobalFree((HGLOBAL)::GlobalHandle((LPCVOID)mlpMenuItem));
|
||||
#else
|
||||
while(::GlobalUnlock((HGLOBAL)(FP_SEG(mlpMenuItem)-1)));
|
||||
::GlobalFree((HGLOBAL)(FP_SEG(mlpMenuItem)-1));
|
||||
#endif
|
||||
mlpMenuItem=0;
|
||||
}
|
||||
if(0==(mSize=newSize)){mlpMenuItem=0;return;}
|
||||
mlpMenuItem=(MenuItem FAR*)::GlobalLock(::GlobalAlloc(GMEM_FIXED|GMEM_ZEROINIT,sizeof(MenuItem)*newSize));
|
||||
}
|
||||
|
||||
PopUpMenu::~PopUpMenu()
|
||||
{
|
||||
size(0);
|
||||
}
|
||||
|
||||
//PopUpMenu &PopUpMenu::operator=(const PureMenu &somePureMenu)
|
||||
//{
|
||||
// (PureMenu&)*this=somePureMenu;
|
||||
// return *this;
|
||||
//}
|
||||
|
||||
PopUpMenu &PopUpMenu::operator=(const PureMenu &somePureMenu)
|
||||
{
|
||||
(PureMenu&)*this=(HMENU)somePureMenu;
|
||||
return *this;
|
||||
}
|
||||
|
||||
WORD PopUpMenu::operator==(const PopUpMenu &somePopUpMenu)const
|
||||
{
|
||||
return (PureMenu&)*this==(PureMenu&)somePopUpMenu;
|
||||
}
|
||||
|
||||
String PopUpMenu::menuLabel(void)const
|
||||
{
|
||||
return mMenuLabel;
|
||||
}
|
||||
|
||||
void PopUpMenu::menuLabel(String menuLabel)
|
||||
{
|
||||
mMenuLabel=menuLabel;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user