This commit is contained in:
2024-08-07 09:16:27 -04:00
parent fdfadd5c7e
commit 5f971cf684
5200 changed files with 731717 additions and 0 deletions

62
statbar/POPUP.CPP Normal file
View 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;
}