ダイアログベースのアプリケーションを開発してるんですけど、
CWnd::OnCtlColor()でボタンの色を変更することに苦戦しています。
エディットボックスとかは普通に変更できるのに
ボタンだけはうまくいきません・・・。
何がいけないのでしょうか?
if( nCtlColor == CTLCOLOR_BTN )
{
pDC->SetBkMode( TRANSPARENT ) ;
pDC->SetTextColor( RGB(255,0,0) ) ;
return ::CreateSolidBrush( RGB(255,255,255) ) ;
}
自己解決です。
WM_DRAWITEMのOnDrawItem()で
それらしいものができたので
自分にOK出しました。
ご迷惑おかけしました。
if( nIDCtl == ボタンのID ) {
CDC* pDC = CDC::FromHandle(lpDrawItemStruct->hDC) ;
pDC->SetBkMode( TRANSPARENT ) ;
pDC->DrawFrameControl(
&lpDrawItemStruct->rcItem,
DFC_BUTTON,
DFCS_BUTTONPUSH) ;
pDC->SetTextColor(RGB(255, 0, 0));
pDC->SetBkColor(RGB(255,0,255) ) ;
}
ツイート | ![]() |