如果關聯的對象具有特定的值,我希望comboBox項目改變顏色。 我做了以下內容:在DrawItem上的組合框不起作用
with Control as TComboBox do
begin
Canvas.Font.Color:=clBlack;
Canvas.Brush.Color := clWhite ;
if TMyObj(MyCb.Items.Objects[MyCb.ItemIndex]).C = 'C' then
Canvas.Brush.Color := clred ;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left, Rect.Top, Items[Index])
end;
我可以看到所有的組合項目的白底黑字。當我將鼠標懸停鼠標,一切就至極的項目我懸停顯示爲紅色(即使C值不是「C」
你明白爲什麼?
如果有問題的組合框被稱爲'MyCb ',爲什麼你要把它拼出來,即使你上面有'用TCombobox做'的控件?爲了你的問題,也許你打算使用'Index:integer'參數而不是'Item Index'?如果沒有,請提供一個[MCVE](http://stackoverflow.com/help/mcve),因爲我不能在描述時重現問題(其中一個原因是「TMyObj」完全未知)。 –