掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ComboBoxの高さを変えるには (ID:36928)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんにちは.Mr.XRAYです. だいぶ日にちが経過しているので,ネット等で調査済みだとは思いますが, (それはやってみましたが... ということになるのかも知れませんが..) OwnerDrawではどうですか. ただし,動作確認は Delphi6(UP2) + Window XP(SP3)でXPテーマ無使用です. XPテーマを有効にするとどうなるかは不明です. また,どうしてもcsDropDownという場合はできないと思いますよ. だって,Draw(描画)を変更しないんですから. (Itemの)の高さを変えると言うことは,描画を変えるということですから. //============================================================================= // ComboBoxでオーナードロウする // StyleプロパティをcsOwnerDrawFixedかcsOwnerDrawVariableにしないと無効 // ComboBoxの高さはItemHeightで変更する //============================================================================= procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin TComboBox(Control).Canvas.FillRect(Rect); if odFocused in State then begin TComboBox(Control).Canvas.Font.Color := clWhite; end else begin TComboBox(Control).Canvas.Font.Color := clWindowText; end; //2や5の値はItemHeightよよっても体裁が変わるので適時変更する //あるいは自動計算のコードを書く TComboBox(Control).Canvas.TextOut(Rect.Left+2, Rect.Top+5, TComboBox(Control).Items[Index]); end;
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.