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