カラーダイアログを実装するには?


いお  2002-03-28 01:24:22  No: 50095  IP: [192.*.*.*]

はじめまして.

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;
}

これを実行すると
文字を入力した行のみが変更されてしまいます.
背景色全体を変更するにはどうしたらよいのでしょうか?

編集 削除