私は
一般 How do I draw the selected list-box item in a different color?選択DBListbox項目は、テキスト
procedure TForm1.DBComboBoxDrawItem(Control:TWinControl;
Index: Integer; Rect: TRect; State: TOwnerDrawState);
with (Control as TDBComboBox).Canvas do
begin
if odSelected in State then
Brush.Color := $00EACAB6;
Font.Color := clBlack;
FillRect(Rect);
TextOut(Rect.Left, Rect.Top, (Control as TDBComboBox).Items[Index]);
if odFocused In State then
begin
Brush.Color := (Control as TDBComboBox).Color;
DrawFocusRect(Rect);
end; {if}
end; {with}
end;
に似csOwnerDrawFixedとしてのスタイルを使用してDBCombobox内の項目の色を変更することができる午前を挿入し、デフォルトでは、私が使用することができていますまた、DBCombobox Standard(スタイル:csDropdown)を使用して項目を選択し、DBコンボボックスにテキストを入力してください。
しかし、私が現在直面している問題は、(Style as csOwnerDrawFixed or csOwnerDrawVariable)を使用してDBComboboxの色を変更するときです。色は変更されますが、DBComboboxでテキストを入力することはできません。
誰かがアイテムの色を変更する方法と、DBComboboxでテキストを同時に入力する方法を教えてもらえますか?ありがとう!
注:表示色がデフォルトのものではないが、それは可能であるTComboBox
で1
私たちはあなたが持っているものを私たちに再現することができますか? – Dsm
申し訳ありませんが、私はコードワイズを意味しました。私はそれを明確にすべきだった。 – Dsm
DBComboBoxの場合、ヘルプはこれが不可能であることを明示的に述べています(つまり、これらのモードではユーザーはデータを入力できません)。提案としては、通常のTComboboxの使用を検討し、ライブバインディングを介してデータソースにリンクすることを検討するかもしれませんが、これは大きな変化であることに感謝します。 – Dsm