在mfc類庫提供了cwnd::onctlcolor函式,在工作框架的子視窗被重畫時將呼叫該成員函式.因此可以過載wm_ctlcolor訊息的響應函式.此函式的原型:
afx_msg hbrush onctlcolor(cdc *pdc,cwnd *pwnd,uint nctlcolor);
引數nctlcolor用於指定控制項的型別,可以是:
.ctlcolor_btn按鈕控制項
.ctlcolor_dlg對話方塊
.ctlcolor_edit編輯框
.ctlcolor_listbox列表控制項
.ctlcolor_msgbox訊息控制項
.ctlcolor_scrollbar滾動條控制項
.ctlcolor_static靜態控制項
[程式實現]
假設你已有了名為my的對話方塊工程.你有了乙個static的控制項,id為idc_static1.
hbrush cmydlg::onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)如果要指定某個特定控制項可以這樣寫:id為idc_static1// todo: return a different brush if the default is not desired
return hbr;
}
if (pwnd-> getdlgctrlid()==idc_static1)【注】else
return hbr;
black_brush:黑色
white_brush:白色
gray_brush:灰色
null_brush:透明
hollow_brush:透明
MFC之編輯框和靜態文字框
編輯框有兩種狀態,乙個是使用者可輸入操作,乙個是只能讀,可在元件屬性中找到read only 設定為true則只能讀使用者無法操作 操作控制項的兩種方式前面說過了,後面都是以變數的方式進行操作 cedit m edit edit.setwindowtext t 編輯框 引數為cstring 型別cs...
MFC文字編輯框
mfc文字編輯框裡面的2個屬性multiline和auto hscroll,先看vs給的說明 multiline 如果控制項文字對控制項寬度而言太長,測將文字折為多行。auto hscroll 當使用者在行尾鍵入字元時,自動是文字滾動到左側。先試試multiline true auto hscrol...
MFC設定編輯框字型大小
1 首先,為edit控制項繫結乙個控制變數 m edit 2 然後,在對話方塊類中新增乙個成員變數cfont m ofont 注 此處必須是成員變數,不能是區域性變數。3 最後就是,利用setfont函式修改字型了,主要有兩種方式,可以在對話方塊的初始化函式oninitdialog中實現 1 法一 ...