WinXP,SDKです。よろしくお願いします。
コンボボックスに色を何色か表示したいです。
いつもはオーナー描画にはしないのですが
色を付ける為にオーナー描画とすると
どうしてもコンボボックスの高さがオーナー描画ではない時に比べて長くなります。(コンボボックスはドロップダウンリストです)
コンボボックスに小さいフォントを与えても変化しませんでした。
MoveWindowしてもダメでした。
CB_SETITEMHEIGHTをすると、リスト部分の各項目の高さが変わりました。
コンボボックスが閉じられた状態の高さを変えるにはどうしたら良いのでしょうか。
もしくは、オーナー描画にしなくてもコンボボックスの各項目に色を付ける事が出来るのでしょうか。
画面の中でこのコンボボックスだけが異様に大きくておかしいです。
画面のフォントサイズは変えられません(大きなコンボボックスに合わせて画面全体大きくして…というのはNG)
アドバイスをよろしくお願い致します。
No.1ベストアンサー
- 回答日時:
こんばんは。
>>コンボボックスが閉じられた状態の高さを変えるにはどうしたら良いのでしょうか。
オーナードローの場合はWM_MEASUREITEMメッセージを処理します。
LPMEASUREITEMSTRUCT lpMis = reinterpret_cast<LPMEASUREITEMSTRUCT>(lp);
switch(uMsg)
{
case WM_MEASUREITEM:
if(lpMis->CtlType == ODT_COMBOBOX)
{
if(lpMis->CtlID == IDC_COMBO1)
{
lpMis->itemWidth = /*縦幅*/;
lpMis->itemHeight= /*横幅*/;
}
}
}
>>もしくは、オーナー描画にしなくてもコンボボックスの各項目に色を付ける事が出来るのでしょうか。
此れは多分出来ないと思います。
アドバイスありがとうございます!
今まで何年もSDKでプログラムを組んできましたが、このような事が出来るとは知りませんでした。
昨日一日中サイズを変える事が出来るかどうかネットで調べていたのですが、まったくこのような処理には出会えませんでした。
あまりにも思い通りに表示が変わったので感激です。
本当に助かりました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VB.net 1 2022/08/18 19:21
- Visual Basic(VBA) VB.net 1 2022/08/17 19:28
- Visual Basic(VBA) ExcelVBA ドロップボックスで月を選択するとそれ以降のデータが残るようにしたい。 3 2022/12/16 14:53
- Excel(エクセル) Excel コンボボックス バックカラー 1 2023/02/18 08:06
- HTML・CSS VB.net コンボボックス 2 2022/06/30 20:37
- Visual Basic(VBA) ExcelVBAでユーザーフォームでテキストボックスなどからセルに連続して入力するコーディングの際の 2 2022/06/29 22:51
- Visual Basic(VBA) ユーザーフォームの書き出しで追加のご相談 ユーザーフォームの値をシートに書き出す際、コードが表示され 2 2022/08/05 10:58
- Visual Basic(VBA) 2つ目のコンボボックスが動作しません。 3 2023/03/25 12:29
- Visual Basic(VBA) Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。 6 2023/03/21 16:12
- Access(アクセス) Accessにインポートした複数のテーブルを表示させる方法が分かりません。 1 2023/01/30 20:22
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VB6,リストボックスの特定行の...
-
MFCでOnPaintのタイミング
-
TextBoxに文字を書いても表示さ...
-
UpdateData( FALSE); による文...
-
CScrollViewの使用方法について
-
PCで「使用可能な場合はグラフ...
-
この二つの違いは・・・?
-
VC++でカーソルを固定する
-
他のプロセスの描画領域を再描画
-
gnuplotのフリーズについて
-
楕円を描くプログラミング
-
ボタン形のラベル
-
InvalidateRectの使い方について
-
panelのスクロール表示について
-
ビットマップを表示させる(MFC)
-
C++にて、塗りつぶされた円を描...
-
Windowのちらつき防止
-
ダイアログベースの再描画について
-
パソコンの画面は何コマ送りで...
-
当たり判定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6,リストボックスの特定行の...
-
[VB.net] DataGridViewの列ヘッ...
-
NVIDIAのシェーダーキャッシュ
-
MFCでOnPaintのタイミング
-
TextBoxに文字を書いても表示さ...
-
word
-
UpdateData( FALSE); による文...
-
VC++プログラムをつかったBMP画...
-
InvalidateRectの使い方について
-
StretchBlt関数について
-
OneNote 2010 文字と描画がずれる
-
C# ラバーバンドの描画を快適に...
-
エクセルでガンチャートを作成...
-
C++にて、塗りつぶされた円を描...
-
VBAにGDI+を参照させる方法
-
MFC DrawText 背景色とフォント
-
GDI+で高速な描画
-
MFCのタイマーのつかい方を教え...
-
Labelの文字をスクロールする際...
-
FlexGridの一部のみ表示を更新...
おすすめ情報