一. 新增背景. 利用cbitmapbutton.(具體看msdn)
1. 資源裡按鈕屬性的ownerdraw改為true;
2. 新增背景到資源裡, bmp型別。 命名: 按鈕的caption為 aa, 則分別命名 「aau」,"aad","aaf","aax".
3. 類(如xxdialog)新增成員變數cbitmapbutton m_bt。
4. initdialog中, m_bt.autoload(idc_button_id, this);
( 或者不用特殊命名, 用
m_bt.loadbitmaps(idb_bt_bg_u, idb_bt_bg_d);//關聯
m_bt.subclassdlgitem(idc_button_id, this);//關聯
m_bt.sizetocontent();//按鈕改為大小 )
二. 新增背景(同上),在背景上新增文字(可隨setwindowtext()改變)
由於很多按鈕用到同樣的背景,但按鈕顯示的文字不一樣。為了實現方便,自建cmybutton類,繼承自cbitmapbutton,然後過載drawitem函式如下。
void cmybutton::drawitem(lpdrawitemstruct lpdis)
dc.drawtext(buffer, size, &lpdis->rcitem, dt_center|dt_vcenter|dt_singleline|dt_tabstop);//畫上文字
dc.detach();
}
MFC Button控制項自繪
vc下的介面著實難看 有時候我們不得不自己進行控制項的繪製 以前 一直不理解最近再次看了學了一遍終於明白了一點 與大家分享下.需要源 的q我 尋找一起學vc的朋友 比如說我們要改變乙個編輯框的背景 我們響應wm ctlcolor函式 進行onctlcolor進行修改但是對與 button控制項就不行...
MFC Button控制項的背景色
乙個繼承於cbutton的按鈕控制項類,實現button背景色與文字的共存與改變,可以自行設計背景色。標頭檔案 cmybutton.h 如下 pragma once include afxwin.h class cmybutton public cbutton 原始檔 cmybutton.cpp i...
工作日誌 mfcButton和執行緒
問題1 button的處理如果要消耗大量的時間,畫面就會卡住 解決 可以在後台開乙個執行緒,讓消耗時間的工作放到後台執行緒完成。增加後台執行緒有2種,有工作者執行緒和ui執行緒,本次使用ui執行緒 1 自己在dlg類中增加乙個static函式,作為執行緒函式。1.1 在.h檔案中增加 static ...