ich mal wieder
Gibt es bekannte Einschränkungen bei CustomDraw Events unter GTK 2, welche ich ggf. übersehen habe? Ich Versuche, mit dem entsprechenden Code unter GTK 2 eine ListView mit Icons und Zellhintergründe zu versehen. Unter Windows funktionierte der Code problemlos, unter Linux/GTK2 zeigt sich keinerlei Reaktion.
Die beiden relevanten Funktionen extrahiert:
Code: Alles auswählen
procedure Tform_approve.ListView1CustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState;
var DefaultDraw: Boolean);
begin
if (Item.SubItems.Count > 1) and (SubItem = 2) then
if Item.SubItems.Strings[SubItem - 1] = '=' then
ListView1.Canvas.Brush.Color := clGreen
else
if Item.SubItems.Strings[SubItem - 1] = '?' then
ListView1.Canvas.Brush.Color := clYellow
else
ListView1.Canvas.Brush.Color := clRed;
end;
procedure Tform_approve.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Item.SubItems.Count > 0 then
if Item.SubItems.Strings[1] = '=' then
Item.ImageIndex := 1
else
if Item.SubItems.Strings[1] = '?' then
Item.ImageIndex := 2
else
Item.ImageIndex := 0;
end;
Falls es dafür eine Lösung gibt, würde ich die Anwendung komplett auf GTK 2 umstellen. Ohne diese Funktion ist es leider nicht ganz so schön anzusehen...