📄 hsmenupro.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 + -