[MFC]背景色の設定
- ・ダイアログの背景色を変更
ダイアログのリソース画面からプロパティビューを開き、
「メッセージ」→「WM_CTLCOLOR」
からメッセージハンドラ(OnCtlColor)を作成する。
ハンドラ内で、以下のようにコーディング。
(背景黒、スタティック文字白になる。)
HBRUSH CSampleDlg::OnCtlColor(CDC* pDC, CWnd* pWNd, UINT nCtlColor)
{HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: ここで DC の属性を変更してください。
CBrush *m_pBrush = new CBrush(RGB(0,0,0));
switch(nCtlColor)
{
case CTLCOLOR_DLG:
return (HBRUSH)(m_pBrush->GetSafeHandle());case CTLCOLOR_STATIC:
pDC->SetTextColor(RGB(255,255,255));
pDC->SetBkColor(TRANSPARENT); //TRANSPARENTは透過らしい。
break;default:
break;
}
// TODO: 既定値を使用したくない場合は別のブラシを返します。
return hbr;}
- Visual Studio 2008 Standard Edition
- ¥28,084
- Amazon.co.jp