CEdit編輯框字型和背景設定

2022-08-02 12:06:07 字數 1007 閱讀 5897

cedit編輯框字型和背景設定

注意事項:當cedit為「disable」時,設定編輯框的字型和背景會沒有效果。

解決方案:將cedit的style設定為「readonly」,這樣設定就能生效了,同時也能達到禁用編輯的功能。

通過傳送「wm_ctlcolor」訊息,呼叫hbrush onctlcolor(cdc* pdc, cwnd* pwnd, uint nctlcolor)來對編輯框字型和背景進行設定。

引數nctlcolor用於指定控制項的型別,可以是:

.ctlcolor_btn 按鈕控制項 //(注意check box 屬於button控制項)

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

【注】black_brush:黑色

white_brush:白色

gray_brush:灰色

null_brush:透明

hollow_brush :透明

mfc 編輯框背景透明設定

前幾天和風在這裡討論關於cedit控制項的透明問題。主要的目的就是要做乙個有圖形背景的edit控制項,經過一番努,終於做出了乙個還算象樣的edit控制項。做乙個透明的edit控制項的主要問題是字元的輸出,在edit裡輸出的重新整理有幾個時機,乙個是在接收到鍵盤或滑鼠訊息的時候 還有就是在接收到wm ...

重繪編輯框CEdit 繼承CEdit方式

編輯框是常用控制項之一,同時也是一種完全自實現較為繁瑣的控制項。本例實現了對編輯框的簡單的自繪製,在保留其自身的強大功能的前提下,實現了編輯框的邊框 背景 文字顏色以及禁用態的各種顏色的替換。要想重繪,我們必須知道要繪什麼。通過觀察預設的編輯框我們可以很清楚的看到編輯框有三個最基礎的部分需要我們繪製...

CEdit編輯框透明的實現

只是為了存下來,慢慢研究 實現方法1 直接在對話方塊中 hbrush clogindlg onctlcolor cdc pdc cwnd pwnd uint nctlcolor if nctlcolor ctlcolor static return hbr 如果只是這樣的話,編輯框無法回格刪除,所以...