我能夠使用它的樣式改變DBCombobox物品的顏色csOwnerDrawFixed類似
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;
一般情況下,在默認情況下,我能夠使用DBCombobox標準(風格:csDropdown)來選擇項目,也可以輸入文本在數據庫Combobox
但我目前面臨的問題是,當我改變DBCombobox的顏色(樣式爲csOwnerDrawFixed或csOwnerDrawVariable)。顏色被改變,但我無法在DBCombobox中輸入文字。
有人能告訴我如何更改項目的顏色,並可以同時在DBCombobox中輸入文本。謝謝 !
注:顯示的顏色是不是默認的,但修改後的一個
你能告訴我們你有什麼,我們可以重現嗎? – Dsm
對不起,我的意思是代碼明智的。我應該說清楚。 – Dsm
對於DBComboBox,幫助明確指出這是不可能的(即在這些模式下用戶不能輸入數據)。作爲一個建議,你可以考慮使用一個普通的TCombobox,並通過實時綁定將其鏈接到數據源,但我明白這可能是一個重大轉變。 – Dsm