CMFCColorButton的一個實例

在vs08和10中發現多了控件,MFCColorButton


添加了一個到了一個對話框,試運行一下,發現效果不錯


可以選擇RGB所有的顏色,可以說功能很強大了,而且自動是彈出式的,這些功能的實現都不用編寫一行代碼


可謂是十分方便


但悲催的是,搜索這個控件的用法,是在少之又少,


唯一一個比較有效的還是一個着重討論改變這個控件外觀的.......


查看MSDN幫助文檔,滿眼英文,而且講得很少,幾乎沒起到什麼作用


經歷了一個半小時琢磨,終於自己弄出了一個很基礎功能的用法


----------------------------------------------------------------------------------------------------------------------------------------------




首先,該按鈕不是一個類,這是基本概念了,

設置一個變量,CMFCColorButton的實例,


1.在資源視圖右擊該控件

右擊添加變量


2.




3.切換到類視圖,在CPenDialog類中

class CPenDialog : public CDialog
{
//.........................................
	public:
	// 顏色選擇的按鈕
	CMFCColorButton m_ColorPicker;
};
多出這一行代碼 說明添加變量成功,這個
m_ColorPicker
已經關聯到那個顏色選擇控件了



4.在初始化對話框時初始化該控件


BOOL CPenDialog::OnInitDialog()
{
	CDialog::OnInitDialog();

	// TODO:  在此添加額外的初始化
	


	m_ColorPicker.EnableAutomaticButton(_T("目前"), m_SelectedColor); 
	//m_ColorPicker.SetColor(m_SelectedColor);
    m_ColorPicker.EnableOtherButton(_T("其餘顏色")); 
    m_ColorPicker.SetColor((COLORREF)-1); 
    m_ColorPicker.SetColumnsNumber(5);     

	return TRUE;  // return TRUE unless you set the focus to a control
	// 異常: OCX 屬性頁應返回 FALSE
}


5.獲取選擇的顏色






在類視圖中添加代碼

void CPenDialog::OnBnClickedMfccolorbutton1()
{
// TODO: 在此添加控件通知處理程序代碼
m_SelectedColor = m_ColorPicker.GetColor();


}


m_SelectedColor是自己聲明的一個存儲選取顏色的變量




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章