ボタンの色を変更するには?

解決


アキポン  2004-01-20 06:06:55  No: 53082

ダイアログベースのアプリケーションを開発してるんですけど、
CWnd::OnCtlColor()でボタンの色を変更することに苦戦しています。
エディットボックスとかは普通に変更できるのに
ボタンだけはうまくいきません・・・。
何がいけないのでしょうか?

if( nCtlColor == CTLCOLOR_BTN )
{
    pDC->SetBkMode( TRANSPARENT ) ;
    pDC->SetTextColor( RGB(255,0,0) ) ;
    return ::CreateSolidBrush( RGB(255,255,255) ) ;
}


アキポン  2004-01-20 19:13:58  No: 53083

自己解決です。
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) ) ;
}


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加