掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォームの背景色を変更するには? (ID:58078)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ダイアログボックスと同様、WM_CTLCOLORメッセージハンドラのOnCtlColorを オーバーライドすることにより背景色を変えられます。 // exam. class CxxxView : public CFormView { HBRUSH m_hBkBrush; // 背景色用ブラシオブジェクトのハンドル ... }; int CxxxView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFormView::OnCreate(lpCreateStruct) == -1){ return -1; } // 背景色用ブラシ作成 m_hBkBrush = ::CreateSolidBrush( RGB( 0x00, 0x99, 0x00 ) ); return 0; } HBRUSH CxxxView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor); if( pWnd == this ){ // 自分自身を描画するときは return m_hBkBrush; // 背景色用ブラシを返す } return hbr; } void CxxxView::PostNcDestroy() { ::DeleteObject( m_hBkBrush ); // 背景色用ブラシ削除 CFormView::PostNcDestroy(); }
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.