📄 qmenu.h
字号:
//////
// EZMenu - Owner drawn menu with Icons & progressbars
// Copyright V.Lakshmi Narasimhan,ezlux@Yahoo.com.
// Feel free to use,modify,twist,turn or even
// digest the code for any non commercial purposes.
// I would appreciate constructive suggestions & bug reports.
// Please dont delete the above lines.
///////
#ifndef __EZMENU_H__
#define __EZMENU_H__
#if _MSC_VERSION>=1000
#pragma once
#endif// _MSC_VERSION>=1000
class QMenuItemData
{
public:
void SetItemText(CString szText);
void SetSeperator(int enable=0);
void SetCheck(int iState=0);
void SetItemIcon(HICON hIcon);
void SetItemIcon(int idIcon);
QMenuItemData();
~QMenuItemData();
HICON hItemIcon;//Small Icon Handle
CString strItemText;//Menu string
BOOL bChecked;//Is item checked?
BOOL bSeperator;
};
//Useful typedef
typedef QMenuItemData* LPQMENUITEMDATA;
typedef QMenuItemData QMENUITEMDATA;
//Header file for EZMenu Self drawn menu
class QMenu :public CMenu
{
public:
int m_SeperatorNum;
int m_MenuWidth;
int m_ItemHeight;
void SetItemHeight(int value=20);
CSize GetMenuSize();
QMenu();
void InsertOwnerDrawnMenuItem(UINT nID,LPQMENUITEMDATA lpez,int nPos=0);
void AppendOwnerDrawnItem(UINT nID,LPQMENUITEMDATA lpez);
void ModifyOwnerDrawnMenuItem(int nPos,UINT nID,int nTotalCheck,LPQMENUITEMDATA lpez);
void SetTotalItems(int nItems);//necessary.
void SetMenuBitmap(HBITMAP hBitmap);
void SetExtensionColor(COLORREF clrExtend);
//if bitmap is shorter than menu height
void SetBitmapDimension(CSize sz);
void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct);
~QMenu();
private:
int m_nCount;//temp
int m_nAveHeight;//average height of each menu item
int m_nItems;//No of items
COLORREF m_clrExtend;//extension color
CSize m_szBitmapSize;
CBitmap m_bitmap;
};
#endif //__EZMENU_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -