www.pudn.com > 大型远程控制软件(偷窥者)源码大公开.zip > PeeperMenu.h
///////////////////////////////////////////////////////////////////////////////
// 远程控制软件-偷窥者 菜单类 //
// 日期:2001/10/02 //
// 作者:刘东发 //
// Email:dongfa@yeah.net //
// http://dongfa.yeah.net //
// OICQ:5584173 阿东 //
// 作者声明: //
// 此部分代码全是作者所写,可以随便传播,但要保持文件的完整性,有问题 //
// 或者意见请来信,谢谢! //
///////////////////////////////////////////////////////////////////////////////
#ifndef __PEEPER_MENU_H__
#define __PEEPER_MENU_H__
typedef struct
{
CString strText;
int nMenuID; // -2:顶层菜单条 -1:弹出菜单 0:分隔条 >0:一般的菜单
}PEEPERMENU, *LPPEEPERMENU;
class CPeeperMenu : public CMenu
{
public:
CPeeperMenu();
virtual ~CPeeperMenu();
BOOL LoadMenu(UINT uMenuID, UINT uToolBarID = 0, CSize sz = CSize(16, 15));
BOOL AttachMenu(HMENU hMenu, UINT uToolBarID = 0, CSize sz = CSize(16, 15));
BOOL DetachMenu();
BOOL ChangeStyle(HMENU hMenu, BOOL bTop = FALSE);
void AppendMenu(UINT uID, CString strText);
void SetBkImage(UINT uID);
int GetImageFromToolBar(UINT uToolBarID, CSize sz,
CImageList *pImageList, CUIntArray *uIDArray);
int AddToolBar(UINT uToolBarID, CSize sz);
int DrawBmp(CDC *pDC, UINT uID, CRect rect, BOOL bStretch = FALSE);
protected:
void ClearMemory();
int GetIndexByID(UINT uID);
void DrawGradRect(CDC *pDC, CRect rect, COLORREF cr1, COLORREF cr2, BOOL bHor = TRUE);
protected:
CImageList m_ilImageList;
CUIntArray m_uIDArray;
CObList m_obMenuList;
int m_nMenuHeight;
int m_nMenuWidth;
int m_nSepHeight;
int m_nSpace;
CSize m_szMenuBk;
CSize m_szMenuIcon;
UINT m_uBackBmpID;
public:
virtual void DrawItem(LPDRAWITEMSTRUCT lpDIS);
virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMIS);
};
#endif // __PEEPER_MENU_H__