> Excelの件ではお世話になりました。 > また、教えてください。 > ビューの( CFormView )の背景色を変えたいのですが、 > どのようにすればよいのでしょう???
CFormView以外の場合は OnEraseBkgnd ですね。
さて、本題のCFormViewは OnCtlColor で背景のブラシを返せば いいだけです。 ただし、毎回 OnCtlColor でCreateBrush してるとリソースリーク を起こしそうなので、
1.Viewのメンバ変数に private HBRUSH hbrBG;
2.Viewのコンストラクタで hbrBG = ::CreateSolidBrush(RGB(128,128,255));
3.Viewのデストラクタで ::DeleteObject(hbrBG);
4.Viewの OnCtlColor で
HBRUSH CTest4View::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { //HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
// TODO: デフォルトのブラシが望みのものでない場合には、違うブラシを返してください //return hbr;
return hbrBG; }
とすれば、いいでしょう。
|