C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

コンボボックスの背景色の変更方法について

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■93708 / inTopicNo.1)  コンボボックスの背景色の変更方法について
  
□投稿者/ 犬夜叉 (41回)-(2020/01/17(Fri) 16:41:52)

分類:[.NET 全般] 

ComboBox を

DrawMode : OwnerDrawFixed
DropDownStyle : DropDownList、

に設定し
DrawItem で描画したときに
ドロップダウンボタン(右端の下向き∨ボタン)の背景が白いのですが

DrawMode : Normal
の時と同じグレーにする方法を教えてください。


引用返信 編集キー/
■93709 / inTopicNo.2)  Re[1]: コンボボックスの背景色の変更方法について
□投稿者/ KOZ (81回)-(2020/01/17(Fri) 19:11:37)
No93708 (犬夜叉 さん) に返信
> DrawMode : Normal
> の時と同じグレーにする方法を教えてください。

ボタンの背景色を変えることはできません。
変更したい場合はボタンと枠線を上書きすることになります。(ひょっとしたらチラつくかも。)

マウスの処理等、メチャメチャ大変ですので、概要を書いておきますから興味があればやってみてください。

(1) 描画のタイミングは WM_PAINT/WM_NCPAINT になります。

(2) ComboBox のボタンは非クライアント領域なので、GetWindowDC API で hdc を取得し、
System.Drawing.Graphics.FormHdc メソッドで Graphics オブジェクトを作成して書き込みます。

(3) ボタンの描画は System.Windows.Forms.ComboBoxRenderer.DrawDropDownButton メソッドで行います。

(4) 枠線を書いて終了

引用返信 編集キー/
■93753 / inTopicNo.3)  Re[2]: コンボボックスの背景色の変更方法について
□投稿者/ 犬夜叉 (42回)-(2020/01/27(Mon) 08:47:58)
No93709 (KOZ さん) に返信
UserControlを使ってみます。
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ