![]() |
ListView bestimmten Eintrag Schriftart ändern
Ok das habe ich
Delphi-Quellcode:
procedure Tform.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin if (ListView1.Selected <> nil) then begin Sender.Canvas.Font.Style := [fsBold]; end; das geht auch sobald ich einen Eintrag markiere wird dieser fett - ABER das ist nicht das was ich will sondern ich möchte das ich einen Eintrag markeire aber erst wenn ich nen Button klicke soll der gewünschte eintrag Fett werden! Wie stelle ich das an?! |
Re: ListView bestimmten Eintrag Schriftart ändern
Schau mal in die Hilfe; ein TListItem-Objekt hat das Property Checked.
Setze ViewStyle auf vsReport und CheckBoxes auf True, dann bist du schon fertig und braucht keinen CustomDraw Handler. |
Re: ListView bestimmten Eintrag Schriftart ändern
das aber NICHT das was ich will :-) -
|
Re: ListView bestimmten Eintrag Schriftart ändern
Zitat:
Delphi-Quellcode:
procedure Tform.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin if Item.Checked then Sender.Canvas.Font.Style := [fsBold] else Sender.Canvas.Font.Style := []; end; |
Re: ListView bestimmten Eintrag Schriftart ändern
Ok
also ich habe schon report und CheckBoxen an aber die CheckBoxen haben hier schon eine gänzlich andere Rolle! Und können für deine Lösung nicht genutzt werden. Es ist nach wie vor Wichtig, das der Eintrag der markiert ist ERST beim Betätigen eines Buttons dick oder nicht dick wird |
Re: ListView bestimmten Eintrag Schriftart ändern
Na gut, dann muss du eben das Property Data benützen.
Das ist aber nicht so angenehm, wie das Property Checked zu benützen.
Delphi-Quellcode:
procedure Tform.ListView1CustomDrawItem(Sender: TCustomListView; Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin if integer(Item.Data) = 99 then Sender.Canvas.Font.Style := [fsBold] else Sender.Canvas.Font.Style := []; end;
Delphi-Quellcode:
Alternativ könntest du auch das Property StateIndex benützen.
procedure Txxx.Button4711Click();
var item : TListItem; begin item := ListView1.Selected; if Assigned(item) then begin if integer(item.Data) = 99 then item.Data := nil else item.Data := Pointer(99); end; |
Re: ListView bestimmten Eintrag Schriftart ändern
Hey super - danke :-)
das ist schon das was ich suche danke! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz