カラー・ダイアログを使う
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;
}