⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hsmenupro.h

📁 漂亮菜单
💻 H
字号:
// HSMenuPro.h: interface for the CHSMenuPro class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_HSMENUPRO_H__8CBC9604_448C_44CB_AF6F_9F6618562436__INCLUDED_)
#define AFX_HSMENUPRO_H__8CBC9604_448C_44CB_AF6F_9F6618562436__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "HSMenu.h"

//////////////////////////////////////////////////////////////////////////////////////// 

#define			ML_NORMAL				0
#define			ML_MENU3D				0X00000001		
//#define			ML_RGNMENU				0X00000002	
//#define			ML_ROUNDMENU			0X00000002			
//#define			ML_SELRGN				0X00000004	
//#define			ML_SELROUND				0X00000004	
#define			ML_ARROWROUND			0X00000008		
#define			ML_CLICK3D				0X00000010		
#define			ML_SEL3D				0X00000020		
#define			ML_SELBORDER			0X00000040
#define			ML_SELGRADIENT			0X00000080
#define			ML_BKGNDEDGE			0X00000100
#define			ML_SELGRADIENT_V		0X00000200
#define			ML_SEPARATOR3D_HEAVE	0X00000400		
#define			ML_SEPARATOR3D_CONCAVE	0X00000800		
#define			ML_XXXX					0X0000FFFF

#define			CX					12

#define			CLR_BKGNDEDGE		CLRCOUNT_BASE
#define			CLR_SELSTART		CLRCOUNT_BASE + 1
#define			CLR_SELEND			CLRCOUNT_BASE + 2
#define			CLR_ICONSHADOW		CLRCOUNT_BASE + 3

#define			_CLR_BKGNDEDGE		0
#define			_CLR_SELSTART		1
#define			_CLR_SELEND			2
#define			_CLR_ICONSHADOW		3

#define			CLRCOUNT			4

#define			Index( index )		( index - CLRCOUNT_BASE )


///////////////////////////////////////////////////////////////////////////////////////////////
//$//								作者 : 韩 松                                 
//$//                                                                          
//$//			程序名称 :CHSMenuPro                                              
//$//			程序类型 :菜单类												
//$//			邮箱地址 :hs_china@yahoo.com								
//$//           QQ号码    :102567329
//$//																		
//$//			作者声明 :此部分代码全是作者所写,可以随便传播,但要保持  
//$//					   文件的完整性,如果您有问题或有好的建议、意见请您
//$//					   给我来信,非常感谢!							
//$//                                      
//$//					   CHSMenuPro 类的使用细节请您参考附带的说明。		
//$//																	
//////////////////////////////////////////////////////////////////////////////////////////////


class CHSMenuPro : public CHSMenu  
{
	DECLARE_DYNAMIC( CHSMenuPro );

public:
	static void		SetMenuStyle	( UINT uMenuLook, BOOL bSet );
	static void		SetColor		( int nIndex, COLORREF clrSet );
	static COLORREF	GetColor		( int nIndex );
	static UINT		GetMenuStyle	( UINT uMenuLook );

	void			AppendMenu		( LPCTSTR pszName, UINT uID, int nIconID = 0, UINT uFlag = 0 );
	BOOL			AppendPopup		( LPCTSTR pszName, CHSMenu *pPopup, UINT uID = 0, int nIconID = 0, UINT uFlag = 0 );
	BOOL			LoadMenu		( UINT uIDResource, int nMenuPos = 0, int nIconPos = 1 );
	BOOL			InsertPopup		( int nItem, LPCTSTR pszName, CHSMenu *pPopup, UINT uID = 0, int nIconID = 0, UINT uFlags = 0, UINT uFlag = MF_BYPOSITION);
	BOOL			InsertMenu		( int nItem, LPCTSTR pszName, UINT uID, int nIconID = 0, UINT uFlags = 0, UINT uFlag = MF_BYPOSITION );

	void			SetMenuIconSize	( int nSize );
	BOOL			SetMenuIcon		( UINT nItem, int nNewIconID, UINT uFlag = MF_BYPOSITION );

	CHSMenuPro		();
	virtual			~CHSMenuPro();

protected:
	virtual void	OnLButtonDown	( HWND hWnd, short x, short y );

	virtual void	DrawItem		( LPDRAWITEMSTRUCTPRO lpdisp );
	virtual void	DrawItemIcon	( LPDRAWITEMSTRUCTPRO lpdisp );
	virtual void	DrawItemText	( LPDRAWITEMSTRUCTPRO lpdisp );
	virtual void	DrawItemArrow	( LPDRAWITEMSTRUCTPRO lpdisp );
	virtual void	DrawItemSpr		( LPDRAWITEMSTRUCTPRO lpdisp );
	virtual void	DrawItemBkgnd	( LPDRAWITEMSTRUCTPRO lpdisp );
	virtual void	DrawMenuBkgnd	( HWND hWnd, HDC hDC );
	virtual void	MapMenuFrom		( CMenu *pMenu, CMenu *pMenuIcon );

private:
	inline void		Initialize		( void );

protected:
	int				m_nIconSize;

protected:
	static COLORREF m_clrMenu[CLRCOUNT];

private:
	static UINT		m_uMenuFlag;
};

#endif // !defined(AFX_HSMENUPRO_H__8CBC9604_448C_44CB_AF6F_9F6618562436__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -