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__