ComboBox(Edit部分とlist部分)の色について – プログラミング – Home

通知
すべてクリア

ComboBox(Edit部分とlist部分)の色について


果実酒
 果実酒
(@果実酒)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

はじめまして。よろしくお願いします。

普通のウインドウのクライアント領域に、
hCombo = CreateWindowEx(0,WC_COMBOBOXEX, ....); //ドロップダウンリストを指定
で作成したコンボボックスを貼っているのですが、
①Edit部分の背景色、②list部分の背景色、③それぞれの文字色と文字背景色、の変更
はどうすればいいのでしょうか。
リストボックス(WC_LISTBOX)だと WM_CTLCOLORLISTBOX を捕まえて変更できたの
に...
様々な WM_CTLCOLOR***** を捕まえてみても変化なしです。
ご教授の程、お願いいたします。

環境>
Win2000
VC++6.0
SDK のみ

                                by 果実酒


引用解決済
トピックタグ
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

行ごとに色分けする場合は、オーナー描画になると思います。


返信引用
petit
 petit
(@petit)
ゲスト
結合: 22年前
投稿: 2
 

>リストボックス(WC_LISTBOX)だと WM_CTLCOLORLISTBOX を捕まえて変更できたの
>に...

そういうことなら、
コンボボックスをサブクラス化し、コンボボックスのウィンドウプロシージャで
WM_CTLCOLOREDIT, WM_CTLCOLORLISTBOX の処理をすればOK。

#行単位で、となるとdairygoodsさんが言われているようにオーナー描画でしょうけど


返信引用
果実酒
 果実酒
(@果実酒)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

dairygoodsさん、petitさん、ありがとうございます。

今回は、行ごとに色分けする場合ではないので、サブクラス化の方法でやってみまし
た。(オーナ描画の知識不足もあるし)
以下のコードでやってみたのですが、どちらも、バックグランドの色は変わるものの、
ボタン(リストを垂らすための)、文字色、文字背景色に変化はなかったです。何故で
しょう...
ご教授お願いできないでしょうか。

case WM_CTLCOLORBTN:

brCombo_Btn = CreateSolidBrush(RGB(232,221,125));

      return (LRESULT)brCombo_Btn;

case WM_CTLCOLOREDIT:

hdc = (HDC)wp;

brCombo_Edit = CreateSolidBrush(RGB(232,221,125));

if ((HWND)lp){
SetTextColor(hdc,RGB(45,119,0));
SetBkColor(hdc,RGB(232,221,125));
    return (LRESULT)brCombo_Edit;
}

break;

case WM_CTLCOLORLISTBOX:

hdc = (HDC)wp;

brCombo_List = CreateSolidBrush(RGB(232,221,125));

if ((HWND)lp){
SetTextColor(hdc,RGB(45,119,0));
SetBkColor(hdc,RGB(232,221,125));
return (LRESULT)brCombo_List;
}

break;

                               by 果実酒


返信引用
petit
 petit
(@petit)
ゲスト
結合: 22年前
投稿: 2
 

どうも文字色・文字背景色は変更できないみたいですね。
この場合もやっぱりオーナー描画しかなさそうです。
全体の背景色しか試してませんでした。m(__)m

ボタン部分の色変更の方法はわかりません。
通常のボタンコントロールならオーナー描画でいけますが、
コンボボックスのボタンはボタンコントロールではないようなので...
コンボボックスもどきを自作するしかないかも。


返信引用
aetos
(@aetos)
Noble Member
結合: 6年前
投稿: 1480
 

コンボボックスのボタンの下矢印って、フォントなんですよね。Marlett とかいう。
オーナードローのヒントになりますかね?


返信引用
果実酒
 果実酒
(@果実酒)
ゲスト
結合: 22年前
投稿: 3
Topic starter  

ちょうど良い機会なので、オーナ描画の勉強をしてみますぅ。

シャノンさん、ヒント提示ありがとうございます。???

>コンボボックスのボタンの下矢印って、フォントなんですよね。Marlett とかいう。
>オーナードローのヒントになりますかね?

ちょっと時間ができたので、しらべてみますぅ。

まだ、解決チェックは押さないぞ~。

                                 by 果実酒


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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