MFC設定靜態文字框,編輯框等控制項背景和字型顏色

2022-07-22 12:09:09 字數 1264 閱讀 3072

在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)

// todo: return a different brush if the default is not desired

return hbr;

}

如果要指定某個特定控制項可以這樣寫:id為idc_static1

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 法一 ...