![]() |
ListView - Erste Spalte in Fett ?
Moin !
Ich habe ein ListView mit 3 Spalten. Die erste Spalte hätte ich gerne in Fett. Habe dazu diesen Code verwendet:
Delphi-Quellcode:
Aber das Ergebnis ist immer das Spalte 1 und 2 in Fett sind und nur Spalte 3 ist nicht Fett.
procedure TGeraetPort_Form.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin if (Item=nil) then Exit; Sender.Canvas.Font.Style := [fsBold]; end; procedure TGeraetPort_Form.ListView1CustomDrawSubItem(Sender: TCustomListView; Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); begin with Sender.Canvas do begin case SubItem of 0, 1, 2 : Font.Style := []; end; end; end; Kann mir jemand nen Tip geben wo ich nun schief liege ? :gruebel: |
Re: ListView - Erste Spalte in Fett ?
Hallo Dominik,
in deinem Fall sollte das helfen:
Delphi-Quellcode:
Grüße vom marabu
procedure TDemoForm.ListViewCustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin with Sender.Canvas.Font do Style := Style + [fsBold]; end; procedure TDemoForm.ListViewCustomDrawSubItem(Sender: TCustomListView; Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); begin with Sender.Canvas.Font do Style := Style - [fsBold]; end; |
Re: ListView - Erste Spalte in Fett ?
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !
Nö auch in diesem Fall ist leider die zweite Spalte Fett. |
Re: ListView - Erste Spalte in Fett ?
Liste der Anhänge anzeigen (Anzahl: 1)
Mein Code produziert das angehängte Bild.
Wo ist dein Code (Demo-Projekt oder DFM/PAS), mit dem es nicht funktioniert? |
Re: ListView - Erste Spalte in Fett ?
Moin !
Moin Code ... UARGH ... Das ist in unsere Anwendung. Alles wird schwierig, aber ich poste mal das relevante ...
Delphi-Quellcode:
Hier wird gefüllt
procedure TGeraetPort_Form.FillSelectBox;
var AppPath, INIFile : String; _i : Integer; DeviceINI : TINIFile; Name, Hersteller : String; Port : String; Checked : Boolean; INIListe : TStringList; Item : TListItem; //Wichtig!! begin SiMain.TrackMethod('FillSelectBox'); ListView1.Items.BeginUpdate; ListView1.Clear; INIListe := ListINIFiles(ExtractFilePath(ParamStr(0))); SiMain.LogMessage('Anzahl Items : ' + IntToStr(INIListe.Count)); AppPath := ExtractFilePath(ParamStr(0)); SiMain.LogMessage(AppPath); // Pfad + INI Name -> AppPath + 'Geraete\' + Liste[_i] For _i := 0 to INIListe.Count -1 do begin // copy(Liste[_i], 1, length(Liste[_i]) - 4); INIFile := AppPath + 'Geraete\' + INIListe[_i]; DeviceINI := TINIFile.Create(INIFile); Name := copy(INIListe[_i], 1, length(INIListe[_i]) - 4); //DeviceINI.ReadString('Gerät', 'Name', 'NO NAME'); Hersteller := DeviceINI.ReadString('Gerät', 'Hersteller', 'NO VENDOR'); Checked := DeviceINI.ReadBool('Gerät', 'Used', False); Port := DeviceINI.ReadString('serielle Schnittstelle', 'Port', '---'); Item := ListView1.Items.Add; Item.Caption := Name; Item.SubItems.Add(Hersteller); Item.SubItems.Add(Port); Item.Checked := Checked; DeviceINI.Free; end; ListView1.Items.EndUpdate; end; Und hier halt die Events:
Delphi-Quellcode:
Derzeit auskommentiert ...
procedure TGeraetPort_Form.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean); begin { with Sender.Canvas.Font do Style := Style + [fsBold]; } end; procedure TGeraetPort_Form.ListView1CustomDrawSubItem(Sender: TCustomListView; Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); begin { with Sender.Canvas.Font do Style := Style - [fsBold]; } end; |
Re: ListView - Erste Spalte in Fett ?
Liste der Anhänge anzeigen (Anzahl: 1)
Dein Code ist nicht in sich abgeschlossen, also hänge ich dir mal mein Test-Projekt an.
Ruf an, sobald du es so verbogen hast, dass die zweite Spalte fett erscheint. |
Re: ListView - Erste Spalte in Fett ?
Liste der Anhänge anzeigen (Anzahl: 1)
Moin !
Hmm, das ist interessant. Dein Projekt tut bei mir auch nicht .... Kann es sein das unter D2007 die Sache etwas anders muss ? |
Re: ListView - Erste Spalte in Fett ?
jo, ich hab auch D2007 und beide Spalten werden fett dargestellt.
mir fehlt aber grad die zeit mir das mal genauer anzuschauen^^ edit: schreibfehler |
Re: ListView - Erste Spalte in Fett ?
Moin !
Problem gelöst :zwinker: Wenn der Berg nicht zu mir will muss ich zum Berg oder wie war das noch :gruebel: Also, man setze den Font der ListBox auf Bold ... Und dann nur das hier:
Delphi-Quellcode:
Fertsch :mrgreen:
procedure TDemoForm.ListViewCustomDrawSubItem(Sender: TCustomListView;
Item: TListItem; SubItem: Integer; State: TCustomDrawState; var DefaultDraw: Boolean); begin with Sender.Canvas.Font do Style := Style - [fsBold]; end; Keep on :coder: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 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