亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 10.6.2 僅改變某個子控件的背景及文本顏色.txt

?? 網上第一本以TXT格式的VC++深入詳解孫鑫的書.全文全以TXT格式,并每一章節都分了目錄,清晰易讀
?? TXT
字號:
10.6.2 僅改變某個子控件的背景及文本顏色
如果想要精確控制對話框上某個控件 (例如本例中的線型組框)的背景的繪制,就需要判斷當前繪制
的是哪一個控件。通過上面的介紹,我們知道通過OnCtlColor函數的第二個參數: pWnd能夠知道當
前繪制的控件窗口對象,這時可以通過調用CWnd類的 GetDlgCtrlID成員函數得到該控件的ID,然后
判斷該E是否就是需要控制其背景繪制的控件ID,如果是就處理。 GetDlgCtrlID函數的聲明形式如
下所示: 
int GetDlgCtrlID( ) const; . 
該函數不僅能返回對話框子控件的 ID,還能返回子窗口的囚。但是因為頂層窗口不具有 ID值,所
以如果調用該函數的CWnd對象是一個頂層窗口,該函數返回的值就是一個無效值。
這里,在 CSettingDlg類的 OnCtlColor函數中就可以利用傳遞進來的 pWnd來調用 GetDlgCtrlID
函數,然后判斷一下如果其返回值等于線型組框的ID (IDCL劇E STYLE) , 那么就可以知道當前繪制
是的線型組框,那就需要改變該控件的背景色,即返回自定義的畫刷,對其他控件仍使用先前的畫
刷。因此,這時的OnCtlColor函數的代碼如例 10-27所示。 
例IJ 10-27 
HBRUSH CSettingDlg : :OnCtlColor(CDC* pDC , CWnd食 pWnd, UINT口CtlColor) 

HBRUSH hbr = CDialog : :OnCtlColor(pDC , pWnd , nCtlColor ) ; 
// TODO: Change any attr
Ibutes of the DC here 
/ / TODO : Return a different brush if the default i s not desired 
if (pWnd->GetDlgCtrlID() ==IDC_LINE_STYLE) 
return m_brush; 
return hbr; 
、 同樣地,相信讀者一定注意到了, OnCtlColor函數要求返回HBRUSH類型的畫刷句柄,但上述代碼中
返回了-個CBrush類型的畫刷對象。這是因為CBrush類重載了HBRUSH操作符。 
Build井運行Graphic程序,打開設置對話框,可以發現線型組框的背景色變成了藍色。如圖 10.24
所示。

為了改變線型組框控件上的文本顏色,應在 
OnCtlColor消息響應函數對當前給制的控件進行判斷,
如果判斷出當前繪制的控件就是線型組框控件,在返回自定義的畫刷之前,就調用 SetTextColor
函數將該控件~ . 上的文本設置為希望的顏色。本例將線型組框控件上的 文本設置為紅色,代碼如
例 10-28所示。圖 10.24僅改變線型組框的背景色
例 10-28 

HBRUSH CSett工ngDlg : :OnCtlColor(CDC* pDC , CWnd* pWnd , UINT nCtlColor) 

HBRUSH hbr = CDialog: :OnCtlColor(pDC , pWnd , nCtlColor) ; 11 TODO : Change any attributes 
of the DC here 11 TODO : Return a different brush if the default is not desired
 if (pWnd->GetDlgCtrlID() ==IDC_LINE_STYLE) { 
pDC->SetTextColor(RGB(255 , O, O)); 
return m_brush; 

return hbr; 
再次運行Graphic程序,將會看到這時線型組框控件的背景是藍色,文字是紅色的。如圖 10.25所示。 

圖 10.25同時改變線型組框的背景色和文本顏色

因為控件上的文本本身也有背景色,所以圖中線型組框的顯示效果看上去不是很舒服,這時可以將
該控件上的文字的背景設置為透明的,即在上述如例 10-28所示代碼中 SetTextColor函數調用之后
再添加下面這行語句: 
pDC->SetBkMode(TRANSPARENT); 
再次運行Graphic程序,將會看到線型組框上文字的背景色就沒有了,如圖 10.26所示。
圖 10.26設置透明模式后的組框文字顯示效果

下面,我們再實現編輯框控件背景的改變。實現原理同上,這時在OnCtlColor函數中如果判斷當前
繪制的是編輯框控件,就設置文本顏色,并返回自定義的畫刷。因此可以參照上面修改線型組框控
件的代碼來實現編輯框控件背景色和文本顏色的改變,結果代碼如例 10-29所示。 
19IJ 10-29 

HBRUSH CSettingDlg : :OnCtlColor(CDC* pDC , CWnd* pWnd, UINT nCtlColor) 

HBRUSH hbr = CDialog: :OnCtlColor(pDC , pWnd , nCtlColor); 
11 TODO : Change any attributes of the DC here 
11 TODO : Return a different brush工 f the default is not desired 
if (pWnd->GetDlgCtrlID() ==IDC_LINE_STYLE) 

pDC->SetTextColor(RGB(255 , O, O)) ; 
pDC->SetBkMode(TRANSPARENT); 
return m_brush; 

if(pWnd->GetDlgCtrl工D () ==工DC_LINE_WIDTH) 
{ 
pDC->SetTextColor(RGB(255 , O, O)) ; 
pDC->SetBkMode(TRANSPARENT) ; 
return m_brush; 

return hbr ; 
Build并運行Graphic程序,我們注意到編輯框的背景色是藍色,文字變成紅色的,但它仍然有一個
白色的背景。這是為什么呢?這是因為如果要改變單行編輯框控件的背景顏色,除了需要設置背景畫
刷句柄之外,還要調用SetBkColor函數設置其背景色。因此這里設置編輯框控件的背景為透明的這
一操作就沒有意義了,這里需要的是設置其背景色,本例也將其設置為藍色,代碼如例 10-30所示。
HBRUSH CSett工ngDlg : : OnCtlColor(CDC* pDC , CWnd* pWnd, U工NT nCtlColor) 

HBRUSH hbr = CDialog : : OnCtlColor(pDC , pWnd , nCtlColor); // TODO : Change any attributes 
of the DC here // TODO : Return a different brush if the default is not desired 
if(pWnd->GetDlgCtrlID()==工DC_LINE_STYLE) 
pDC一>SetTextColor(RGB(255,O,O)); 
pDC->SetBkMode(TRANSPARENT) ; 
return m_brush; 

if (pWnd->GetDlgCtrlID() ==工DC_L工NE_W工DTH) 
pDC->SetTextColor(RGB(255 , O, O)); 
//pDC->SetBkMode(TRANSPARENT) ; 
pDC->SetBkColor(RGB(O , O, 255)) ; 

, 
return ffi_brush; 
} 

return hbr; 
. 
再次運行Graphic程序,這時就可以看到編輯框控件的背景完全變成藍色,文字是紅色的了。 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区91| 久久国产精品99久久久久久老狼| 在线观看成人小视频| 日本欧美久久久久免费播放网| 久久免费视频色| 欧美视频在线一区二区三区| 精品中文字幕一区二区| 亚洲另类中文字| 欧美精品一区二区三区很污很色的 | 精品久久久久久久一区二区蜜臀| www.激情成人| 国产精品正在播放| 看电影不卡的网站| 无吗不卡中文字幕| 亚洲免费在线观看| 中文字幕在线不卡| 国产嫩草影院久久久久| 26uuu欧美日本| 欧美一区二区久久| 911精品国产一区二区在线| 在线免费不卡视频| 色婷婷综合五月| 99re视频精品| 99久久99久久久精品齐齐| 丁香六月久久综合狠狠色| 国产真实精品久久二三区| 久久精品国产秦先生| 蜜桃免费网站一区二区三区| 日韩电影网1区2区| 日韩一区精品字幕| 青青青伊人色综合久久| 午夜精品久久久久久久99水蜜桃 | 成人免费黄色大片| 国产剧情一区二区| 日本精品一区二区三区高清 | 一区二区三区鲁丝不卡| 亚洲乱码国产乱码精品精小说| 国产欧美日韩在线看| 国产色婷婷亚洲99精品小说| 精品久久人人做人人爰| 精品成人私密视频| 国产亚洲欧美一区在线观看| 久久久99精品免费观看不卡| 国产日韩av一区| 欧美国产视频在线| 国产精品久久久久久久久快鸭 | 国产精品一区久久久久| 亚洲不卡一区二区三区| 亚洲成人精品在线观看| 五月婷婷久久丁香| 美女在线一区二区| 国产精品白丝av| 波多野结衣一区二区三区| 91蜜桃传媒精品久久久一区二区| 91免费观看视频| 欧美日韩国产经典色站一区二区三区 | 亚洲欧美日韩综合aⅴ视频| 一区二区三区四区在线播放| 亚洲成人第一页| 久久99精品久久久久婷婷| 风间由美一区二区av101| 99久久精品国产毛片| 欧美日韩精品电影| 精品久久久久久久久久久久久久久久久 | 久久精品夜色噜噜亚洲a∨| 亚洲国产精品高清| 亚洲一区二区3| 老司机免费视频一区二区| 国产99精品在线观看| 色八戒一区二区三区| 欧美年轻男男videosbes| 精品粉嫩超白一线天av| 国产精品高潮呻吟| 日韩和欧美一区二区| 国产成a人亚洲精| 欧美色中文字幕| 久久综合九色综合97婷婷| 亚洲精品中文在线观看| 99久久伊人精品| 欧美一区在线视频| 中文文精品字幕一区二区| 一区二区三区日本| 激情小说欧美图片| 91久久国产最好的精华液| 日韩视频一区二区三区在线播放| 欧美国产精品劲爆| 日本va欧美va精品发布| proumb性欧美在线观看| 91精品国产91久久久久久最新毛片 | 不卡高清视频专区| 3d动漫精品啪啪1区2区免费| 国产精品伦理在线| 久久成人免费网| 色偷偷久久人人79超碰人人澡| 日韩午夜在线观看| 一区二区激情小说| 国产精品亚洲人在线观看| 欧美人xxxx| 亚洲天天做日日做天天谢日日欢| 久久99精品国产| 色婷婷av一区| 国产精品丝袜一区| 精品中文字幕一区二区| 欧美日韩不卡视频| 一区二区三区欧美在线观看| 国产福利一区在线| 欧美mv日韩mv| 日本va欧美va欧美va精品| 日本精品一区二区三区四区的功能| 国产网红主播福利一区二区| 视频一区视频二区在线观看| 日本久久精品电影| 成人免费在线视频观看| 国产精品夜夜爽| 日韩精品一区二区三区蜜臀 | 91在线免费看| 中文字幕精品三区| 国产精品综合二区| 日韩视频免费观看高清完整版 | 99久久久久久| 国产亚洲精品7777| 国产精品一区免费视频| 久久综合狠狠综合久久综合88| 99久久精品国产一区二区三区| 久久精品在线观看| 黄一区二区三区| 日韩午夜在线播放| 蜜桃一区二区三区在线观看| 欧美一级黄色大片| 蜜臀91精品一区二区三区| 欧美一区二区黄色| 日本欧美一区二区| 日韩精品一区二区三区在线播放 | 91啪亚洲精品| 亚洲欧美电影院| 一本大道久久a久久精二百| 综合婷婷亚洲小说| 91国在线观看| 午夜伊人狠狠久久| 欧美一区二区性放荡片| 免费黄网站欧美| 26uuu国产电影一区二区| 国产一区二区三区免费| 亚洲国产成人一区二区三区| 波多野洁衣一区| 一区二区在线观看不卡| 欧美日韩高清在线| 奇米精品一区二区三区四区| 日韩片之四级片| 国产在线精品一区二区夜色| 欧美精品一区男女天堂| 成人爽a毛片一区二区免费| 综合电影一区二区三区| 欧美午夜一区二区三区| 蜜臀va亚洲va欧美va天堂| 久久网站热最新地址| 成人小视频在线| 亚洲国产综合91精品麻豆| 欧美电影一区二区| 国产一区二区三区高清播放| 亚洲欧洲精品一区二区三区| 欧美色图12p| 国产一区二区成人久久免费影院| 国产精品久久久一本精品| 欧美性生交片4| 国模少妇一区二区三区| 综合久久久久久久| 欧美一区二区视频观看视频| 精品制服美女久久| 中文字幕亚洲综合久久菠萝蜜| 欧美性生交片4| 国产美女一区二区| 亚洲一区二区三区国产| 久久综合视频网| 一本久久综合亚洲鲁鲁五月天| 99精品热视频| 亚洲va欧美va人人爽| 26uuu国产在线精品一区二区| 成人av资源在线观看| 手机精品视频在线观看| 中文字幕不卡一区| 在线91免费看| av不卡免费在线观看| 免费成人在线网站| 亚洲品质自拍视频网站| 精品国产一区二区三区四区四 | 欧美顶级少妇做爰| 成人成人成人在线视频| 免费高清在线一区| 亚洲综合久久久| 欧美激情一区三区| 日韩欧美www| 欧美日韩一级黄| 99re热视频精品| 国产麻豆精品在线| 午夜视频久久久久久| 亚洲欧洲精品天堂一级 | 午夜激情综合网| 国产精品久久毛片a| 亚洲精品一区二区三区福利|