免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
VS2010/MFC編程入門之十九(對(duì)話框:顏色對(duì)話框)

       雞啄米在上一節(jié)中為大家講解了字體對(duì)話框的使用方法,熟悉了字體對(duì)話框,本節(jié)繼續(xù)講另一種通用對(duì)話框--顏色對(duì)話框。

       顏色對(duì)話框大家肯定也不陌生,我們可以打開它選擇需要的顏色,簡(jiǎn)單說,它的作用就是用來選擇顏色。MFC中提供了CColorDialog類封裝了顏色對(duì)話框的所有操作,我們可以通過它顯示顏色對(duì)話框,并獲取顏色對(duì)話框中選擇的顏色。顏色對(duì)話框跟字體對(duì)話框一樣,也是一種模態(tài)對(duì)話框。

       CColorDialog類的構(gòu)造函數(shù)

CColorDialog(
   COLORREF clrInit = 0,
   DWORD dwFlags = 0,
   CWnd* pParentWnd = NULL
);

       參數(shù)說明:

       clrInit:默認(rèn)選擇顏色的顏色值,類型為COLORREF,實(shí)際上就是unsigned long類型。如果沒有設(shè)置它的值,則默認(rèn)為RGB(0,0,0),即黑色。

       注:RGB(r,g,b)是,可以計(jì)算顏色值。括號(hào)中的三個(gè)值分別為紅、綠、藍(lán)分量的值。

       dwFlags:自定義顏色對(duì)話框功能和外觀的屬性值。詳情可在MSDN中查閱。

       pParentWnd:顏色對(duì)話框的父窗口的指針。

       獲取顏色對(duì)話框中所選顏色值

       我們使用顏色對(duì)話框的最終目的還是要獲得在顏色對(duì)話框中選擇的顏色值。為此CColorDialog類的成員函數(shù)GetColor()能夠很好的實(shí)現(xiàn)我們的要求。GetColor()函數(shù)的原型為:

       COLORREF GetColor( ) const;

       它返回所選顏色的COLORREF值。

       如果我們想獲得R、G、B各分量的值呢?可以根據(jù)GetColor得到的COLORREF顏色值,通過使用GetRValue、GetGValue和GetBValue三個(gè)宏獲得。GetRValue的語法形式為:

       BYTE GetRValue(DWORD rgb);

       參數(shù)rgb就是COLORREF顏色值,返回值即是R分量值。其他兩個(gè)宏的形式與之類似。例如,GetColor()函數(shù)返回的COLORREF為10000,則R分量值就是GetRValue(10000)。

       顏色對(duì)話框應(yīng)用實(shí)例

       雞啄米下面給大家做一個(gè)顏色對(duì)話框的小例子。此例要實(shí)現(xiàn)的功能簡(jiǎn)單介紹下:生成一個(gè)對(duì)話框,對(duì)話框中放置一個(gè)“顏色選擇”按鈕,四個(gè)靜態(tài)文本框和四個(gè)編輯框。四個(gè)靜態(tài)文本框分別顯示Color:、R:、G:、B:,每個(gè)靜態(tài)文本框后面跟一個(gè)編輯框,分別用來顯示顏色對(duì)話框中選擇的顏色值和所選顏色值的紅色分量、綠色分量、藍(lán)色分量。

       以下是實(shí)例創(chuàng)建的步驟:

       1.創(chuàng)建一個(gè)基于對(duì)話框的MFC工程,名字為“Example19”。

       2.在自動(dòng)生成的主對(duì)話框IDD_EXAMPLE19_DIALOG的模板中,刪除“TODO: Place dialog controls here.”靜態(tài)文本框,添加一個(gè)按鈕,ID設(shè)為IDC_COLOR_BUTTON,Caption設(shè)為“顏色選擇”,用于顯示顏色對(duì)話框來選擇顏色。再添加四個(gè)靜態(tài)文本框,ID分別為IDC_COLOR_STATIC、IDC_R_STATIC、IDC_G_STATIC、IDC_B_STATIC,Caption分別設(shè)為“Color:”、“R:”、“G:”、“B:”,然后每個(gè)靜態(tài)文本框后添加一個(gè)編輯框,四個(gè)編輯框的ID分別為IDC_COLOR_EDIT、IDC_R_EDIT、IDC_G_EDIT、IDC_B_EDIT,分別用來顯示顏色對(duì)話框中選擇的顏色值和所選顏色值的紅色分量、綠色分量、藍(lán)色分量。

       3.為按鈕IDC_COLOR_BUTTON添加點(diǎn)擊消息的消息處理函數(shù)CExample19Dlg::OnBnClickedColorButton()。

       4.修改消息處理函數(shù)CExample19Dlg::OnBnClickedColorButton()如下:

C++代碼
  1. void CExample19Dlg::OnBnClickedColorButton()   
  2. {   
  3.     // TODO: Add your control notification handler code here   
  4.     COLORREF color = RGB(255, 0, 0);      // 顏色對(duì)話框的初始顏色為紅色  
  5.     CColorDialog colorDlg(color);         // 構(gòu)造顏色對(duì)話框,傳入初始顏色值   
  6.   
  7.     if (IDOK == colorDlg.DoModal())       // 顯示顏色對(duì)話框,并判斷是否點(diǎn)擊了“確定”   
  8.     {   
  9.         color = colorDlg.GetColor();      // 獲取顏色對(duì)話框中選擇的顏色值   
  10.         SetDlgItemInt(IDC_COLOR_EDIT, color);         // 在Color編輯框中顯示所選顏色值   
  11.         SetDlgItemInt(IDC_R_EDIT, GetRValue(color));  // 在R編輯框中顯示所選顏色的R分量值   
  12.         SetDlgItemInt(IDC_G_EDIT, GetGValue(color));  // 在G編輯框中顯示所選顏色的G分量值   
  13.         SetDlgItemInt(IDC_B_EDIT, GetBValue(color));  // 在B編輯框中顯示所選顏色的B分量值   
  14.     }   
  15. }  

       5.最后編譯運(yùn)行程序,在結(jié)果對(duì)話框中點(diǎn)擊“顏色選擇”按鈕,彈出顏色對(duì)話框。初始狀態(tài)下,選擇框在紅色上,我們選另一種顏色,此時(shí)的顏色對(duì)話框如下:

        點(diǎn)“確定”,主對(duì)話框上的四個(gè)編輯框中分別顯示了選擇的顏色值、R分量、G分量和B分量:

       我們?cè)趯?shí)際開發(fā)中,可以用獲取到的顏色值來設(shè)置其他對(duì)象的顏色,使用還是很方便的。

       關(guān)于顏色對(duì)話框就講到這里了。其實(shí)各種對(duì)話框的使用都有很多相似之處,相信大家越來越熟悉了。最后還是歡迎大家繼續(xù)關(guān)注雞啄米的VS2010/MFC入門教程。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ccolordialog
VC的若干實(shí)用小技巧(二)
Visual C .NET編程講座之六
vc 根據(jù)字體對(duì)話框和顏色對(duì)話框設(shè)置控件里的字體和顏色
《Windows核心編程》の“字體”和“顏色”對(duì)話框
轉(zhuǎn)貼:MFC edit control 用法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服