VC 點陣圖按鈕CBitmapButton的使用
系統環境:Windows 7
軟體環境:Visual C++ 2008 SP1
本次目的:使用點陣圖按鈕,並且設定按鈕的滑鼠懸停效果
在用MFC開發時,介面是比較不好開發的一塊。VC中自帶了CBitmapButton類,但是用途不多,網上很多Button類的派生類蠻實用的,但是若是簡單的點陣圖按鈕用自帶的CBitmapButton就可以實現了,以下是效果圖:
步驟一:新建基於對話方塊工程,放置一個按鈕,可以適當調整大小,設定其Owner Draw屬性為TRUE,右鍵為按鈕新增變數,改變其變數型別為CBitmapButton,按確定完成;
步驟二:匯入按鈕點陣圖,這裡四幅圖大小要一致,以下是四種狀體的按鈕,若讀者要實驗這次的設計的話,可以右鍵另存為,然後用“畫圖”把png格式的另存為bmp格式的。在資源檢視,右鍵“新增資源”,“匯入”以下圖片:
步驟三:初始化工作,在對話方塊的OnInitDialog()函式裡面新增以下程式碼:
步驟四:為控制點陣圖按鈕的可用、不可用新增程式碼,這是為了驗證第四種狀態的按鈕:
步驟五:到這裡已經完成了點陣圖按鈕的實現,編譯執行可以看到結果。但是滑鼠滑過的時候,按鈕並不會感應到焦點的存在。這裡用定時器捕獲焦點在按鈕上,並且改變此時的按鈕狀體為第三種圖片。首先為窗體新增OnTimer()事件,在OnTimer()函式裡面填寫如下程式碼:
最後在對話方塊的OnInitDialog()函式裡面新增開啟定時器,時間間隔200ms足夠了。
完成後,執行就可實現與文章開頭所示的圖片一樣的效果。
2012年5月7日 《對CBitmapButton的擴充套件》
相關文章
- Android | 使用 AspectJ 限制按鈕快速點選Android
- 仿抖音點贊按鈕
- JavaScript 點選按鈕返回底部JavaScript
- Android 點選按鈕跳轉Android
- Fiori Elements List Report table 裡的普通按鈕,Global 按鈕 和 Determining 按鈕
- Pew:川普就職後“憤怒”按鈕成Facebook使用者使用最多的按鈕
- 防止頁面按鈕多次點選
- 初學 Bootstrap 按鈕與圖片boot
- javascript閉包的使用–按鈕切換JavaScript
- Qt更改按鈕樣式 (以QSpinBox使用左右按鈕樣式為例)QT
- 自定義有多個按鈕節點的SliderViewIDEView
- 直播軟體原始碼,好看的點贊按鈕原始碼
- 異形按鈕的點選區域處理
- Android處理按鈕重複點選Android
- jQuery點選按鈕刪除div元素jQuery
- JavaScript點選按鈕彈出層效果JavaScript
- JavaScript點選按鈕返回底部詳解JavaScript
- uniapp頁面中的按鈕使用分享功能APP
- 請問各位大佬,vue如何實現點選按鈕切換圖片的效果?Vue
- jquery製作圖片瀑布流點選按鈕載入更多內容jQuery
- 高亮按鈕
- 刪除按鈕點選後的虛線輪廓
- 對於防止按鈕重複點選的嘗試
- iOS面向切面程式設計筆記:UIButton按鈕防連點、NSArray陣列越界、資料打點iOS程式設計筆記UI陣列
- uniapp點選按鈕提交textarea值為undifineAPP
- iOS 左滑按鈕(UITableViewRowAction)顯示圖片iOSUIView
- kindeditor 圖片管理增加刪除操作按鈕
- 左右帶有按鈕圖片水平滾動
- LabVIEW的自定義按鈕View
- 點選一個按鈕使其樣式發生變化,再點選另一個按鈕發生同樣變化,但上一個按鈕樣式復原
- 點陣圖
- Flutter Button(按鈕)Flutter
- 小程式按鈕
- 復飛按鈕
- 乾貨!必看創意按鈕設計,打造真正的按鈕誘惑
- UI設計按鈕圖示素材幹貨模板UI
- app直播原始碼,uniapp點選按鈕 儲存頁面為圖片到本地APP原始碼
- flutter好用的輪子推薦二-點贊按鈕動畫Flutter動畫