buttonex.h

来自「无聊的时候编写的」· C头文件 代码 · 共 43 行

H
43
字号
#pragma once

enum	BTN_EVENT
{
	EBTN_NORMAL,
	EBNT_MOUSEMOVE,
	EBNT_LBUTTONDOWN,
	EBNT_LBUTTONUP,
	EBTN_RBUTTONDOWN,
	EBTN_RBUTTONUP,
};
class CButtonEx
{
public:
	CButtonEx(void);
	~CButtonEx(void);

	void	Create(const TCHAR* pFile);
	template<class T>	void	SetEvent(BTN_EVENT index,T* pFunc)
	{
		FunHolder*	lpFunc	=	new FreeFunction<T>(pFunc);
		m_mpEvent[index]	=	lpFunc;
	}
	template<class T>	void	SetEvent(BTN_EVENT index,bool (T::*function)(const EventArgs&), T* obj)
	{
		FunHolder*	lpFunc	=	new ClassFunction<T>(function,obj);
		m_mpEvent[index]	=	lpFunc;
	}
	bool	MouseIn( POINT& pt);
	bool	OnLButtonDown(const EventArgs& arg);
	bool	OnMouseMove(const EventArgs& arg);
	bool	OnRButtonDown(const EventArgs& arg);
	bool	OnMouseLeave(const EventArgs& arg);
	void	Move(int x,int y);

	void	Draw(Graphics& grp);

	BTN_EVENT					m_state;
	RECT						m_rect;
	map<BTN_EVENT,FunHolder*>	m_mpEvent;
	Image*						m_pImage;
};

⌨️ 快捷键说明

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