AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi ListView bestimmten Eintrag Schriftart ändern
Thema durchsuchen
Ansicht
Themen-Optionen

ListView bestimmten Eintrag Schriftart ändern

Offene Frage von "MrDevil"
Ein Thema von MrDevil · begonnen am 5. Dez 2007 · letzter Beitrag vom 5. Dez 2007
Antwort Antwort
MrDevil

Registriert seit: 27. Dez 2006
Ort: Melle
62 Beiträge
 
Delphi 5 Standard
 
#1

ListView bestimmten Eintrag Schriftart ändern

  Alt 5. Dez 2007, 17:04
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?!
Gruss Jens
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: ListView bestimmten Eintrag Schriftart ändern

  Alt 5. Dez 2007, 17:19
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.
Andreas
  Mit Zitat antworten Zitat
MrDevil

Registriert seit: 27. Dez 2006
Ort: Melle
62 Beiträge
 
Delphi 5 Standard
 
#3

Re: ListView bestimmten Eintrag Schriftart ändern

  Alt 5. Dez 2007, 17:24
das aber NICHT das was ich will -
Gruss Jens
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: ListView bestimmten Eintrag Schriftart ändern

  Alt 5. Dez 2007, 17:27
Zitat von MrDevil:
das aber NICHT das was ich will -
Dann kannst du aber TROTZDEM das Property Checked benützen; dann eben in Kombination mit deinem CustomDrawHandler.
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;
Andreas
  Mit Zitat antworten Zitat
MrDevil

Registriert seit: 27. Dez 2006
Ort: Melle
62 Beiträge
 
Delphi 5 Standard
 
#5

Re: ListView bestimmten Eintrag Schriftart ändern

  Alt 5. Dez 2007, 17:36
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
Gruss Jens
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#6

Re: ListView bestimmten Eintrag Schriftart ändern

  Alt 5. Dez 2007, 17:46
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:
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;
Alternativ könntest du auch das Property StateIndex benützen.
Andreas
  Mit Zitat antworten Zitat
MrDevil

Registriert seit: 27. Dez 2006
Ort: Melle
62 Beiträge
 
Delphi 5 Standard
 
#7

Re: ListView bestimmten Eintrag Schriftart ändern

  Alt 5. Dez 2007, 17:51
Hey super - danke

das ist schon das was ich suche danke!
Gruss Jens
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz