- Örnek bir kod hazırladım. Bu sayede kavram olarak daha kolay anlamanı hedefledim.
- Eklediğin her item için veritabanından aldığın değerleri yansıtıyorsun. Bu senin yazdığın örnek.
- Burada bilmen gereken şey, bir item'e direkt şu renk ol diyemeyeceğindir. Yapman gereken şey, rengi değişik görünmesi gereken item'i diğerlerinden farklılaştırmak olmalıdır. Şöyle ki.
- Ben item'in Checked özelliğini ele aldım. Sen başka çözümler bulabilirsin. İçeriği belli bir değeri alan item'in Checked özelliğini True yapar, diğerlerini False yaparsak bu bize daha sonra kullanmak üzere dayanak noktası sağlar.
Kod: Tümünü seç
var
Sayac : Integer;
xitem : TListItem;
begin
For Sayac := 0 to 10 do
begin
xitem := ListView1.Items.Add;
xitem.Caption := Format('%.3d', [Sayac]);
If Sayac = 5 // 5 olan item'i Checked = True yaptık. Diğerleri False
then xitem.Checked := True
else xitem.Checked := False;
end;
end;
- Aşağıdaki kod, her item için içerik durumuna göre dilediğin işlemi yapmaya yeterlidir.
Kod: Tümünü seç
procedure TForm1.ListView1AdvancedCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; Stage: TCustomDrawStage;
var DefaultDraw: Boolean);
begin
If Item.Checked then TListView(Sender).Canvas.Font.Color := clRed;
end;
- Gördüğün üzere, hangi item'in Checked'i True ise onlar kırmızı renkli görünecektir.
- Başarılar.