為了使程序的界面更美觀,在本系統(tǒng)中使用鉤子函數對按鈕控件進行了修改,首先創(chuàng)建一個按鈕類CDrawButton類。CDrawButton類的代碼如下:
//定義按鈕狀態(tài)
enum ButtonState {bsNormal,bsHot,bsDown};
//按鈕包裝類
class CDrawButton
{
public:
ButtonState m_State; //按鈕當前狀態(tài)
WNDPROC m_OldProc; //記錄按鈕的窗口函數
int m_Flag; //是否釋放關聯(lián)按鈕的CDrawButton對象
static int m_Style; //按鈕風格
public:
CDrawButton( ) //構造函數
{
m_State = bsNormal; //設置按鈕狀態(tài)
m_OldProc = NULL; //設置窗口函數
m_Flag = 0; //設置按鈕風格
}
virtual ~CDrawButton() //析構函數
{
m_State = bsNormal; //設置按鈕狀態(tài)
m_OldProc = NULL; //設置窗口函數
};