【MFC】vs2013_MFC使用文件之15.mfc 按钮CBitmapButton的使用
本文是基于對話框的
博文基于 無幻 的博文為基礎寫的?http://blog.csdn.net/akof1314/article/details/4951836
筆者使用mfc撐死2個星期,不過這是有c++基礎的前提下接觸mfc,昨天看到了網上對qt creator的評論,感覺好高大上,回去試了一下后發現,qt需要mfc的基礎,若是直接接觸qt的話會比較難,畢竟mfc是在vs的平臺下,大家學起來會比較順手。
回到正題,今天研究了下怎么使用mfc中的位圖按鍵,發現實現方法挺多,但是對于小白來說,很多作者認為簡單的都會略過,恰巧那些簡單的就是我不會的,結果又看不懂。除了mfc自有的CBitmapButton外,在網上還看到有關于CButtonST的使用,應該是會比CBitmapButton簡單,筆者看的是CBitmapButton,那這里就不講CButtonST。
兩位csdn博主對CButtonST使用的鏈接:
DoubleLi: ?http://www.cnblogs.com/lidabo/archive/2012/12/17/2821122.html
wqvbjhc: ?http://blog.csdn.net/wqvbjhc/article/details/12580669
?
首先?會用到以下CBitmapButton類的函數
LoadBitmaps(IDB_UP, IDB_DOWN, IDB_FOCUS,IDB_DISABLE);
//載入圖片?IDB_UP, IDB_DOWN, IDB_FOCUS,IDB_DISABLE 這四個均為bitmapID
BOOL?LoadBitmaps(?LPCTSTR?lpszBitmapResource,?LPCTSTR?lpszBitmapResourceSel?=?NULL,?LPCTSTR?lpszBitmapResourceFocus?=?NULL,?LPCTSTR?lpszBitmapResourceDisabled?=?NULL? );?bitmap的載入
回到資源視圖就可以看到??資源視圖打開的方法:視圖-》其他窗口-》資源視圖
SubclassDlgItem(按鈕ID, this);//關聯按鈕
SizeToContent();//讓按鈕隨圖片大小變化
GetDlgItem(按鈕ID)->EnableWindow(FALSE);//開啟按鈕的禁止狀態
?
現在開始做
1.在對話框出拖入一個按鈕,,其ID為IDC_BUTTON1
2.設置按鈕屬性中的Owner Draw為TRUE?
3.在::OnInitDialog();前添加 ??CBitmapButton m_btnX1;//必須放在函數外面才能正常實現 ?
4.導入按鈕位圖,這里四幅圖大小要一致,以下是四種狀體的按鈕,若讀者要實驗這次的設計的話,可以右鍵另存為,然后用“畫圖”把png格式的另存為bmp格式的。在資源視圖,右鍵“添加資源”,“導入”以下圖片:
5.初始化工作,在對話框的OnInitDialog()函數里面添加以下代碼:
m_btnX1.LoadBitmaps(IDB_UP, IDB_DOWN, IDB_FOCUS,IDB_DISABLE);//
// 也可以只加一個ID資源;
m_btnX1.SubclassDlgItem(IDC_BUTTON_TEST2, this);
m_btnX1.SizeToContent();
到這里已經完成了位圖按鈕的實現,編譯運行可以看到結果。
其實這個時候你能看到后三幅圖的的效果,為什disable的看不到,是因為這個禁止的狀態你沒有打開,打開需要
GetDlgItem(按鈕ID)->EnableWindow(FALSE); ?//為false是是開啟禁止狀態,為true時則是關閉狀態
這時候四個圖標你都能看到了。
如果你想做鼠標移動到按鈕上,按鈕會變其他圖案的效果,請看?無幻?http://blog.csdn.net/akof1314/article/details/4951836/;
?
本文用到的資料: ?只想說一句 csdn太強大了。
http://blog.csdn.net/leixiaohua1020/article/details/12753967
http://blog.csdn.net/akof1314/article/details/4951836/
http://bbs.csdn.net/topics/100184465
https://msdn.microsoft.com/en-us/library/6y6acs49(v=vs.120).aspx
?
轉載于:https://www.cnblogs.com/ourran/p/4570063.html
總結
以上是生活随笔為你收集整理的【MFC】vs2013_MFC使用文件之15.mfc 按钮CBitmapButton的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 7 防火墙,端口开启命令
- 下一篇: POJ-1325 Machine Sch