VC 使用OnCtlColor函式來改變控制項顏色

2021-08-03 03:49:56 字數 884 閱讀 8240

在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

:透明

使用OnCtlColor函式訊息打造背景

在mfc類庫提供了cwnd onctlcolor函式,在工作框架的子視窗被重畫時將呼叫該成員函式.因此可以過載wm ctlcolor訊息的響應函式.此函式的原型 afx msg hbrush onctlcolor cdc pdc,cwnd pwnd,uint nctlcolor 引數nctlcolo...

使用VLOOKUP與HYPERLINK函式

今天遇到乙個場景就是兩個excel,a表中某一列與b表中某一列有對應關係,舉例如下,a表中f列對應b表中的b列,現在我要在a表加個鏈結直接可以跳轉到b表中對應的位置,因為亂序,人工去找非常繁瑣,費時費力,所以我們使用到vlookup函式 步驟 首先第一步 根據a表中f列的資料與b表選定區域對比查詢,...

vc 使用容器

vc 使用容器 deque deque是標準模板庫中的內容和vector一樣,deque是雙端佇列.函式 描述 c.assign beg,end 將 beg end 區間中的資料賦值給c。c.assign n,elem 將n個elem的拷貝賦值給c。c.at idx 傳回索引idx所指的資料,如果i...