通常要設定控制項背景色透明,原因是在對話方塊背景中使用了。對於這種情況,在vs2010中應當呼叫setbackgroundimage函式來實現背景的顯示。
bool cmfcdlg::oninitdialog()
因為vs2010中對話方塊是派生cdialogex的,所以可以使用該函式來完成對應功能。呼叫後,靜態控制項的背景自動就透明了,不需要再次進行設定,而對於radio button和check button就需要通過**控制背景中對應區域繪製一遍來達到背景透明的效果。
hbrush cmfcdlg::onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)
*///沒辦法,搞乙個萬能的。很奇怪,在背景是的情況下,nctlcolor都不等於ctlcolor_btn了,但經過斷點可以肯定,
//每個控制項都會進入這個訊息
uint id = pwnd->getdlgctrlid();
if(id == idc_radio1 || id == idc_check1)
return hbr;
}
以上就是基本過程。效果如下:
VS2010 MFC開發學習筆記
做了一段mfc的開發,從零開始真的很難受,倒不是軟體難用,也不是語言難學,主要是好多功能不知道實現的函式,這裡把我用到的函式列出來,僅供參考 控制項操作 控制項顯示getdlgitem idc static display showwindow sw show 控制項隱藏getdlgitem idc...
VS2010 MFC讀取Excel檔案中資料
前段時間寫個工具需要從excel檔案中讀取資料,excel 資料列數為確定值,行數不確定,從網上搜了些方法嘗試,最終達到目的,總結如下 1.新建乙個基於對話方塊的mfc應用程式 2.新增excel相關類 import d program files x86 microsoft office offi...
MFC 各控制項背景顏色設定
1 新增onctlcolor訊息響應函式 hbrush cdmpydlg onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor case ctlcolor edit 2 wm ctlcolor訊息對應的函式為onctlcolor,onctlcolor函式的原型為 a...