2011-04-29 47 views
2

我希望能夠選擇任何我想要的顏色,就像附圖所示。如何在mfc中添加拾色器?

COLOR PICKER

是的,我想了解這個C++或MFC。我覺得它更強大。你可以向我解釋如何將它添加到我的項目中。我也希望顏色iteslf和它的代碼在圖片框和文本框中出現。

感謝

回答

5

在使用MFC類庫CColorDialog類是用來挑顏色從MFC

// Get the selected color from the CColorDialog. 
CColorDialog dlg; 
if (dlg.DoModal() == IDOK) 
{ 
     COLORREF color = dlg.GetColor(); 

} 

此示例將彈出對話框來選擇顏色,然後選擇顏色後,點擊確定按鈕,然後顏色變將包含所選的顏色。

在您的應用程序中使用此顏色。

編輯

您可以自定義組合框或列表框中添加顏色選取工具。

請參考以下鏈接:CodeProjectSample

+0

@user:這將彈出對話框,但我想要上面的附件。 – karthik 2011-04-29 04:54:53

+0

@karthik:爲此,您必須自定義組合框並以您喜歡的方式書寫。 – karthik 2011-04-29 09:58:11

2

CMFCColorDialog是你彷彿在尋找。要使其像下拉菜單一樣工作,您需要將其放置在向下箭頭按鈕的下方(例如,使用MoveWindow)。

+0

如何將CMFCColorDialog包含到我的應用程序中。當我使用它時,它會將錯誤顯示爲CMFCColorDialog未聲明的標識符。 – karthik 2011-04-29 05:08:49

+2

您需要VS 2008與Feature Pack或SP1,或者VS 2010才能使用它。假設你有,'#include '。 – 2011-04-29 05:23:07

+0

我沒有該版本。是否有其他可能的方法來實現這一目標? – karthik 2011-04-29 05:28:03

0

對於2008年以前的Visual Studio版本,您可以使用BCGSoft的顏色pikcer(http://www.bcgsoft.com)。 MFC顏色對話框基於這個。

0

我和CMFCColorButton有類似的問題。我在對話框設計中添加了帶有ToolBox的圖形資源,但我無法分配控制變量,因爲它不識別CMFCColorButton

答案是在stdafx.h的標題中包含afxcolorbutton.h。也許你可以用同樣的方法修復它。

我希望這有助於