程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 顏色對話框使用實例

顏色對話框使用實例

編輯:C++入門知識

顏色對話框允許用戶選擇常用的系統色。
使用API函數ChooseColor可以彈出一個顏色對話框。
MFC對顏色的對話框的封裝類為CColorDialog。
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
修改FontDlgDemo實例,添加一個按鈕控件,將其文本改為“顏色”,將其ID改為IDC_BTN_COLOR
為其添加消息響應函數:
[cpp]  www.2cto.com
void CFontDlgDemoDlg::OnBtnColor()  

    // TODO: Add your control notification handler code here 
    ///定義並初始化文字格式結構 
    CHARFORMAT cf = {0}; 
    cf.cbSize = sizeof(cf); 
    cf.dwMask = CFM_COLOR; 
    ///取得文本框當前文字的格式 
    m_edtContext.GetSelectionCharFormat(cf); 
 
    CColorDialog dlg(cf.crTextColor); 
    ///顯示對話框,選擇字體的格式 
    if(dlg.DoModal() == IDOK) 
    { 
        ////取得用戶所選字體 
        cf.crTextColor = dlg.GetColor(); 
        ///將顏色設置到文本框當前文本 
        cf.dwEffects = 0; 
        m_edtContext.SetSelectionCharFormat(cf); 
    } 


說明;
1、CColorDialog的構造函數比較簡單,主要的參數就是要指定其初始化顏色。
2、對話框返回後,可以使用dlg.GetColor()獲得新的顏色。
3、將新顏色設置到文本框,本例采用了和設置字體類型相似的方法,但是將CHARFORMAT結構的dwMask設置為CFM_CO;LOR,將
dwEffects設置為0,以使該結構中的其余成員被忽略,只修改顏色屬性。
 
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved