为了使程序的界面更美观,在本系统中使用钩子函数对按钮控件进行了修改,首先创建一个按钮类CDrawButton类。CDrawButton类的代码如下:
//定义按钮状态
enum ButtonState {bsNormal,bsHot,bsDown};
//按钮包装类
class CDrawButton
{
public:
ButtonState m_State; //按钮当前状态
WNDPROC m_OldProc; //记录按钮的窗口函数
int m_Flag; //是否释放关联按钮的CDrawButton对象
static int m_Style; //按钮风格
public:
CDrawButton( ) //构造函数
{
m_State = bsNormal; //设置按钮状态
m_OldProc = NULL; //设置窗口函数
m_Flag = 0; //设置按钮风格
}
virtual ~CDrawButton() //析构函数
{
m_State = bsNormal; //设置按钮状态
m_OldProc = NULL; //设置窗口函数
};