menuiconmgr.h

来自「管理项目进度工具的原代码」· C头文件 代码 · 共 49 行

H
49
字号
// MenuIconMgr.h: interface for the CMenuIconMgr class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_MENUICONMGR_H__0FF0228C_515C_4E93_A957_1952AFD0F3A1__INCLUDED_)
#define AFX_MENUICONMGR_H__0FF0228C_515C_4E93_A957_1952AFD0F3A1__INCLUDED_

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

#include "..\shared\Subclass.h"
#include <afxtempl.h>

class CMenuIconMgr : public CSubclassWnd  
{
public:
	CMenuIconMgr();
	virtual ~CMenuIconMgr();
	
	BOOL Initialize(CWnd* pWnd);

	BOOL AddImage(UINT nCmdID, HICON hIcon); // hIcon will be copied
	BOOL SetImage(UINT nCmdID, HICON hIcon); // hIcon will be cleaned up

	BOOL AddImage(UINT nCmdID, const CImageList& il, int nImage);
	int AddImages(const CToolBar& toolbar);
	int AddImages(const CUIntArray& aCmdIDs, const CImageList& il);
	int AddImages(const CUIntArray& aCmdIDs, UINT nIDBitmap, int nCx, COLORREF crMask);
	
	BOOL ChangeImageID(UINT nCmdID, UINT nNewCmdID);
	void DeleteImage(UINT nCmdID);
	
	void ClearImages() { m_mapID2Icon.RemoveAll(); }
	
protected:
	CMap<UINT, UINT, HICON, HICON> m_mapID2Icon;
	
	virtual LRESULT WindowProc(HWND hRealWnd, UINT msg, WPARAM wp, LPARAM lp);
	
	BOOL OnDrawItem(int nIDCtl, LPDRAWITEMSTRUCT lpdis);
	void OnInitMenuPopup(CMenu* pMenu);
	BOOL OnMeasureItem(int nIDCtl, LPMEASUREITEMSTRUCT lpmis);
	
	HICON LoadItemImage(UINT nCmdID);
};

#endif // !defined(AFX_MENUICONMGR_H__0FF0228C_515C_4E93_A957_1952AFD0F3A1__INCLUDED_)

⌨️ 快捷键说明

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