OnCtlColor

OnCtlColor

OnCtlColor是控制項視窗函式,其畫刷句柄效果提示信息函式( afx_msg HBRUSH OnCtlColor )構成:返回值,OnCtlColor必須返回一個刷子句柄,該刷子將被用於畫出控制項的背景。參數,pDC 包含了子視窗的顯示設備環境的指針。可能是臨時的。PWnd 包含了要求顏色的控制項的指針。可能是臨時的。 NCtlColor 包含了下列值,指定了控制項的類型: CTLCOLOR_BTN 按鈕控制項 · CTLCOLOR_DLG 對話框 · CTLCOLOR_EDIT 編輯控制項 · CTLCOLOR_LISTBOX 列表框控制項 · CTLCOLOR_MSGBOX 訊息框 · CTLCOLOR_SCROLLBAR 滾動條控制項 · CTLCOLOR_STATIC 靜態控制項。

名詞解釋

CWnd:: OnCtlColor

afx_msg HBRUSH OnCtlColor( CDC* pDC, CWnd* pWnd, UINT nCtlColor );

返回值: OnCtlColor必須返回一個刷子句柄,該刷子將被用於畫出控制項的背景。

參數說明

pDC 包含了子視窗的顯示設備環境的指針。可能是臨時的。 PWnd 包含了要求顏色的控制項的指針。可能是臨時的。 NCtlColor 包含了下列值,指定了控制項的類型: · CTLCOLOR_BTN 按鈕控制項 · CTLCOLOR_DLG 對話框 · CTLCOLOR_EDIT 編輯控制項 · CTLCOLOR_LISTBOX 列表框控制項 · CTLCOLOR_MSGBOX 訊息框 · CTLCOLOR_SCROLLBAR 滾動條控制項 · CTLCOLOR_STATIC 靜態控制項

說明

當要畫出一個子控制項時,框架就調用這個成員函式。多數控制項將這個訊息傳送到它們的父視窗(通常是一個對話框),為使用正確的顏色畫出控制項而準備pDC。

要改變文本的顏色,使用要求的紅、綠、藍色值(RGB)調用SetTextColor成員函式。

要改變單行編輯控制項的背景顏色,在CTLCOLOR_EDIT和CTLCOLOR_MSGBOX訊息代碼中設定刷子句柄,並在回響CTLCOLOR_EDIT的代碼中調用CDC::SetBkColor函式。

不會為下拉組合框中的列表框調用 OnCtlColor函式,因為下拉列表框實際上是組合框的子視窗,而不是視窗的子視窗。要改變下拉列表框的顏色,創建一個CcomboBox,在重載的 OnCtlColor中的nCtlColor參數中檢查CTLCOLOR_LISTBOX。在這個處理函式中,為設定文本的背景必須使用SetBkColor成員函式。

注意事項

框架調用這個成員函式以允許你的應用程式處理一個Windows訊息。傳遞給你的成員函式的參數反映了接收到訊息時框架接收到的參數。如果你調用了這個函式的基類實現,則該實現將使用最初傳遞給訊息的參數(而不是你提供給這個函式的參數)。

相關詞條

熱門詞條

聯絡我們