日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

自绘热点按钮

發(fā)布時間:2025/3/11 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 自绘热点按钮 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

自繪熱點按鈕


一、1.在VS2010中新建MFC對話框工程,命名“Test”。

2.刪除對話框上所有控件,然后在對話框上添加一個按鈕,一個組合框,一個編輯框,更改按鈕ID為IDC_TRANSFORM_BTN,更改編輯框ID為IDC_EDIT2。

3.在工作區(qū)窗口選擇RecourceView選項卡,向?qū)υ捒蛑幸来螌?dǎo)入下列4個位圖資源(IDB_BITMAP1…IDB_BITMAP4)


4.創(chuàng)建以CButton類為基類的派生類CHotButton

5.在CHotButton類的頭文件中聲明變量,


6.在CHotButton類的源文件中的構(gòu)造函數(shù)初始化變量



7. 利用類向?qū)г贑HotButton類中添加SetCBitmap函數(shù),在該函數(shù)中設(shè)置使用的CBitmap類對象;并添加DetachCBitmap函數(shù)


7.利用類向?qū)г贑HotButton類中添加PreSubclassWindow虛方法,在該方法中設(shè)置定時器


7.利用類向?qū)г贑HotButton類中處理WM_TIMER消息,在該消息的處理函數(shù)中獲得鼠標(biāo)的位置,并判斷鼠標(biāo)是否在按鈕控件區(qū)域中




8.利用類向?qū)г贑HotButton類中調(diào)用DrawItem方法,在按鈕中繪制圖片








9.利用類向?qū)г贑HotButton類中處理WM_LBUTTONDOWN消息,在按鈕被按下時將m_IsPressed值設(shè)為TRUE

10.利用類向?qū)г贑HotButton類中處理WM_LBUTTONUP消息,在按鈕彈起時將m_IsPressed值設(shè)為FALSE


11.在對話框頭文件中聲明CBitmap類對象,并引用HotButton.h頭文件;為“轉(zhuǎn)換”按鈕控件關(guān)聯(lián)CHotButton類變量,打開按鈕控件屬性窗口,選擇Ownerdraw自繪屬性


12.在對話框頭文件中為編輯框控件關(guān)聯(lián)對象m_Edit2,聲明一個畫刷


13.在對話框源文件中的OnInitDialog()函數(shù)中添加


14.在對話框源文件中的OnPaint()函數(shù)中的if-else語句的else中添加



15.在對話框源文件中處理WM_CTLCOLOR消息



16.雙擊“轉(zhuǎn)換”按鈕,添加其單擊消息響應(yīng)函數(shù)


正常效果圖如下:


熱點效果圖如下:


單擊“轉(zhuǎn)換”按鈕后,按鈕禁用效果:



本程序源碼:

http://download.csdn.net/detail/u013541325/8875441



總結(jié)

以上是生活随笔為你收集整理的自绘热点按钮的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。