vc++ コントロールの色を変える – プログラミング – Home

vc++ コントロールの色を変える
 
通知
すべてクリア

vc++ コントロールの色を変える


久雄
 久雄
(@久雄)
ゲスト
結合: 23年前
投稿: 1
Topic starter  

はじめまして
 初心者です。

VC++ 6.0 MFCで開発しています。

ON_WM_CTLCOLORでコントロールのテキストの色を変えたいのですが
上手くいきません。

ON_WM_CTLCOLORで
  コンポボックスのドロップドウンで選択し表示した文字の色の変更はできるのでしょうか。
  また
  ボタンのキャプションで指定した文字の色の変更はできるのでしょうか。

因みにボタンのとき以下のようにしています。
 コンポボックスは全くわかりません。
 宜しくお願いします。

HBRUSH axc::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

// TODO: この位置で DC のアトリビュートを変更してください

if( nCtlColor == CTLCOLOR_BTN ) {
if( pWnd == &m_Bott_Color10 ) {
m_brBkgnd.DeleteObject();
m_ctlText = RGB(0, 0, 0);
m_ctlBkgnd = RGB(0, 0, 255);
m_brBkgnd.CreateSolidBrush( m_ctlBkgnd );

pDC->SetTextColor( m_ctlText );
pDC->SetBkColor( m_ctlBkgnd );
return m_brBkgnd;
}
}else{
return CDialog::OnCtlColor( pDC, pWnd, nCtlColor );
}


引用解決済
トピックタグ
kazuma
 kazuma
(@kazuma)
ゲスト
結合: 24年前
投稿: 217
 

> ボタンのキャプションで指定した文字の色の変更はできるのでしょうか。

オーナー描画するか、テキストを書き込んだビットマップを貼り付けてください。

> コンポボックスのドロップドウンで選択し表示した文字の色の変更はできるのでしょうか。

OnCtlColorで、
nCtlColorがCTLCOLOR_LISTBOXやCTLCOLOR_EDITのときに処理してください。
選択状態のアイテムの色を変えたい場合はオーナー描画してください。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました