カラー・ダイアログを使う



public:
	//色コード格納用変数
	COLORREF setCOLOR;

/////////////////////////////////////////////////////////////////////////////
// CColordlgsapDlg ダイアログ

CColordlgsapDlg::CColordlgsapDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CColordlgsapDlg::IDD, pParent)
{

	setCOLOR = RGB(0,0,0);    //追加コード・初期の色(黒)をセット
}

//カラーダイアログを開く
void CColordlgsapDlg::OnButton1() 
{
	//-------------------
	//コードの追加

	CColorDialog  DLG(setCOLOR);    //初期の色を黒に設定
	if( DLG.DoModal() == IDOK ){
        setCOLOR = DLG.GetColor();  //色の取得
		m_edit1.Invalidate(TRUE);   //エディットボックス色設定更新
	}
	m_edit1.SetFocus();
	//ここまで
	//-------------------
}

//色を変える
HBRUSH CColordlgsapDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: この位置で DC のアトリビュートを変更してください
	
	// TODO: デフォルトのブラシが望みのものでない場合には、違うブラシを返してください
	//-------------------
	//コードの追加
	if( nCtlColor == CTLCOLOR_EDIT ){
		if( pWnd == &m_edit1 ){             // EditBox1
			pDC->SetBkMode(TRANSPARENT);    // 背景色を見せる
			pDC->SetTextColor(setCOLOR);    // 文字色変更
		}
	}
	//ここまで
	//-------------------
	return hbr;
}