[MFC]背景色の設定2
昨日 に続いてこんなやり方もあった。
こっちのほうがよいと思う。
・ダイアログクラスにCBrushクラスのメンバ変数を持たせる。
・OnInitDialogで以下のように初期化
BOOL CSampleDlg::OnInitDialog()
{
・・・
// TODO: 初期化をここに追加します。
m_Brush.CreateSolidBrush(RGB(0,0,0));
return TRUE; // フォーカスをコントロールに設定した場合を除き、TRUE を返します。
}
HBRUSH CSampleDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: ここで DC の属性を変更してください。
switch(nCtlColor)
{
case CTLCOLOR_DLG:
return (HBRUSH )m_Brush;
default:
break;
}
// TODO: 既定値を使用したくない場合は別のブラシを返します。
return hbr;
}