日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

自绘热点按钮

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

自繪熱點按鈕


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

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

3.在工作區窗口選擇RecourceView選項卡,向對話框中依次導入下列4個位圖資源(IDB_BITMAP1…IDB_BITMAP4)


4.創建以CButton類為基類的派生類CHotButton

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


6.在CHotButton類的源文件中的構造函數初始化變量



7. 利用類向導在CHotButton類中添加SetCBitmap函數,在該函數中設置使用的CBitmap類對象;并添加DetachCBitmap函數


7.利用類向導在CHotButton類中添加PreSubclassWindow虛方法,在該方法中設置定時器


7.利用類向導在CHotButton類中處理WM_TIMER消息,在該消息的處理函數中獲得鼠標的位置,并判斷鼠標是否在按鈕控件區域中




8.利用類向導在CHotButton類中調用DrawItem方法,在按鈕中繪制圖片








9.利用類向導在CHotButton類中處理WM_LBUTTONDOWN消息,在按鈕被按下時將m_IsPressed值設為TRUE

10.利用類向導在CHotButton類中處理WM_LBUTTONUP消息,在按鈕彈起時將m_IsPressed值設為FALSE


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


12.在對話框頭文件中為編輯框控件關聯對象m_Edit2,聲明一個畫刷


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


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



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



16.雙擊“轉換”按鈕,添加其單擊消息響應函數


正常效果圖如下:


熱點效果圖如下:


單擊“轉換”按鈕后,按鈕禁用效果:



本程序源碼:

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



總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。