はじめまして.
MFC(CEditView)でエディットビューの背景に対し
カラーダイアログを実装させたいのですが,うまくいきません.
まず,COLORREF型m_BkgndとCBrush型m_brBkgndをエディットクラスに
追加して,Resourceビューのメニュー(ID_VIEW_COLOR)の関数を追加します.
void CTestView::OnViewColor()
{
CColorDialog colDlg;
if (colDlg.DoModal()==IDOK){
m_Bkgnd = colDlg.GetColor();
Invalidate();
}
}
そして,=WM_CTLCOLORハンドラを追加.
if( nCtlColor == CTLCOLOR_EDIT ) {
pDC->SetBkMode(OPAQUE);
pDC->SetBkColor(m_Bkgnd);
return (HBRUSH)(m_brBkgnd.GetSafeHandle());
}
return m_brBkgnd;
}
これを実行すると
文字を入力した行のみが変更されてしまいます.
背景色全体を変更するにはどうしたらよいのでしょうか?
ツイート | ![]() |