📄 fbmenu.h
字号:
/*
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
文件:FBMenu.h
版权:Firebird Software Workroom 保留
声明:本源程序的版权受《中华人民共和国著作权法》以及其
它相关法律和条约的保护。任何有机会得到本源程序的
个人和机构,未经作者明确授权,不得将本源程序用于
任何商业目的(直接的或间接的)。对于非商业目的的使
用 (包括复制、传播、编译和修改), 原则上没有特别
的限制条款,但请在相关文档中说明其来源,并尊重原
作者的署名权。
编写:秦传安(chings) 2000.6
联络:E_mail:chings@163.net
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
#ifndef _FBMENU_H__
#define _FBMENU_H__
//####################################################################
class CFBMenu
{
public:
CFBMenu();
~CFBMenu();
HMENU m_hMenu;
BOOL CreateMenu();
BOOL CreatePopupMenu();
BOOL LoadMenu(LPCTSTR lpszResourceName);
BOOL LoadMenu(UINT nIDResource);
BOOL DestroyMenu();
virtual BOOL Attach(HMENU hMenu);
BOOL DeleteMenu(UINT nPosition, UINT nFlags);
BOOL TrackPopupMenu(UINT nFlags, int x, int y,
HWND hWnd, LPCRECT lpRect = 0);
UINT CheckMenuItem(UINT nIDCheckItem, UINT nCheck);
UINT EnableMenuItem(UINT nIDEnableItem, UINT nEnable);
UINT GetMenuItemCount() const;
UINT GetMenuItemID(int nPos) const;
UINT GetMenuState(UINT nID, UINT nFlags) const;
int GetMenuString(UINT nIDItem, LPTSTR lpString, int nMaxCount,
UINT nFlags) const;
BOOL GetMenuItemInfo(UINT nIDItem, LPMENUITEMINFO lpMenuItemInfo,
BOOL fByPos = FALSE);
HMENU GetSubMenu(int nPos) const;
BOOL InsertMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem = 0,
LPCTSTR lpszNewItem = NULL);
BOOL ModifyMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem = 0,
LPCTSTR lpszNewItem = NULL);
BOOL RemoveMenu(UINT nPosition, UINT nFlags);
BOOL CheckMenuRadioItem(UINT nIDFirst, UINT nIDLast, UINT nIDItem, UINT nFlags);
BOOL SetDefaultItem(UINT uItem, BOOL fByPos = FALSE);
UINT GetDefaultItem(UINT gmdiFlags, BOOL fByPos = FALSE);
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct){}
virtual void MeasureItem(LPMEASUREITEMSTRUCT lpMeasureItemStruct){}
};
//####################################################################
inline BOOL CFBMenu::DeleteMenu(UINT nPosition, UINT nFlags){
return ::DeleteMenu(m_hMenu, nPosition, nFlags); }
inline UINT CFBMenu::CheckMenuItem(UINT nIDCheckItem, UINT nCheck){
return (UINT)::CheckMenuItem(m_hMenu, nIDCheckItem, nCheck); }
inline UINT CFBMenu::EnableMenuItem(UINT nIDEnableItem, UINT nEnable){
return ::EnableMenuItem(m_hMenu, nIDEnableItem, nEnable); }
inline BOOL CFBMenu::SetDefaultItem(UINT uItem, BOOL fByPos){
return ::SetMenuDefaultItem(m_hMenu, uItem, fByPos); }
inline UINT CFBMenu::GetDefaultItem(UINT gmdiFlags, BOOL fByPos){
return ::GetMenuDefaultItem(m_hMenu, fByPos, gmdiFlags); }
inline UINT CFBMenu::GetMenuItemCount() const{
return ::GetMenuItemCount(m_hMenu); }
inline UINT CFBMenu::GetMenuItemID(int nPos) const{
return ::GetMenuItemID(m_hMenu, nPos); }
inline UINT CFBMenu::GetMenuState(UINT nID, UINT nFlags) const{
return ::GetMenuState(m_hMenu, nID, nFlags); }
inline int CFBMenu::GetMenuString(UINT nIDItem, LPTSTR lpString, int nMaxCount, UINT nFlags) const{
return ::GetMenuString(m_hMenu, nIDItem, lpString, nMaxCount, nFlags); }
inline BOOL CFBMenu::GetMenuItemInfo(UINT nIDItem, LPMENUITEMINFO lpMenuItemInfo, BOOL fByPos){
return ::GetMenuItemInfo(m_hMenu, nIDItem, fByPos, lpMenuItemInfo); }
inline HMENU CFBMenu::GetSubMenu(int nPos) const{
return ::GetSubMenu(m_hMenu, nPos); }
inline BOOL CFBMenu::InsertMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem,
LPCTSTR lpszNewItem){
return ::InsertMenu(m_hMenu, nPosition, nFlags, nIDNewItem, lpszNewItem); }
inline BOOL CFBMenu::ModifyMenu(UINT nPosition, UINT nFlags, UINT nIDNewItem, LPCTSTR lpszNewItem){
return ::ModifyMenu(m_hMenu, nPosition, nFlags, nIDNewItem, lpszNewItem); }
inline BOOL CFBMenu::RemoveMenu(UINT nPosition, UINT nFlags){
return ::RemoveMenu(m_hMenu, nPosition, nFlags); }
inline BOOL CFBMenu::CheckMenuRadioItem(UINT nIDFirst, UINT nIDLast, UINT nIDItem, UINT nFlags){
return ::CheckMenuRadioItem(m_hMenu, nIDFirst, nIDLast, nIDItem, nFlags); }
inline BOOL CFBMenu::TrackPopupMenu(UINT nFlags, int x, int y,
HWND hWnd, LPCRECT lpRect){
return ::TrackPopupMenu(m_hMenu, nFlags, x, y, 0, hWnd, lpRect);}
//####################################################################
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
class CCoolMenu
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
//###################################################################################
class CCoolMenu : public CFBMenu
{
public:
CCoolMenu();
~CCoolMenu();
virtual BOOL Attach(HMENU hMenu);
virtual void DrawItem(LPDRAWITEMSTRUCT pds);
virtual void MeasureItem(LPMEASUREITEMSTRUCT pmis);
protected:
HBITMAP m_hBkBmp1;
HBITMAP m_hBkBmp2;
HFONT m_hFont;
int m_cxFont,m_cyFont;
};
//###################################################################################
#endif//_FBMENU_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -