プログラミングメモ →目次

色を選択するダイアログ(VC++)

 

CHOOSECOLOR 構造体とChooseColor()API関数で、上のような色を選択するダイアログボックスを組み込むことが簡単にできます。

#include <commdlg.h>
COLORREF dwCustColors[16];
COLORREF cr = 0x0000ff00;
CHOOSECOLOR cc;
memset(&cc, 0, sizeof(CHOOSECOLOR));
cc.lStructSize = sizeof(CHOOSECOLOR);
cc.hwndOwner = m_hWnd;
cc.lpCustColors = dwCustColors;
cc.rgbResult = cr;			// 初期値
cc.Flags = CC_FULLOPEN | CC_RGBINIT;
if (ChooseColor(&cc)) 
{
	cr = cc.rgbResult;		// 結果
}

MFCのCColorDialog クラスを利用すると、アプリケーションに [色の選択] ダイアログ ボックスを組み込むことが簡単にできます。

 

ソース:

#include <afxdlgs.h> 

COLORREF clrrefColor = 0x00FF0000;		// 色を収納する変数


CColorDialog dlg(clrrefColor );		// 初期値
dlg.m_cc.Flags |= CC_FULLOPEN;
if (dlg.DoModal() == IDOK)
{
	clrrefColor = dlg.GetColor();		// 色を変数に収納する
	
}