Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TreeVieweintrag erhält nicht die volle Focuslänge (https://www.delphipraxis.net/183283-treevieweintrag-erhaelt-nicht-die-volle-focuslaenge.html)

borstenei 27. Dez 2014 18:48

TreeVieweintrag erhält nicht die volle Focuslänge
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich möchte das in meinen TreeView beim select auf dem ersten Node , dieser fett markiert wird.
Das tut es auch, nur leider scheint der Focus nicht zu wissen wie lang der neue Text ist, es wird nur die alte Länge focusiert.
Wie kann ich das ändern?
Delphi-Quellcode:
procedure TMainFrm.Book_TVCustomDrawItem(Sender: TCustomTreeView;
  Node: TTreeNode; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
  if Node.Level = 1 then
    Sender.Canvas.Font.Size := Sender.Canvas.Font.Size - 2;
  if Node.Level = 0 then
     if cdsFocused in State then begin
     Sender.Canvas.Font.Style := Sender.Canvas.Font.Style + [fsBold];
     end;
end;

himitsu 27. Dez 2014 19:15

AW: TreeVieweintrag erhält nicht die volle Focuslänge
 
Du mußt auch beim Berechnen der Item-Breite (nicht nur beim Malen) den Fontstyle anpassen.

Alternativ kannst du auch irgendwo einstellen, daß die komplette Zeile markiert werden soll.

borstenei 27. Dez 2014 19:58

AW: TreeVieweintrag erhält nicht die volle Focuslänge
 
..ja wenn ich den TreeView auf AutoExpand stelle funktioniert das richtig aber das ist nicht das was ich möchte.
Der Baum ist zb. in meinem Fall beim Start( wenn der User es will) aufgeklappt.

borstenei 28. Dez 2014 00:42

AW: TreeVieweintrag erhält nicht die volle Focuslänge
 
Hi Himitsu,
hast Du ein Ansatz wie ich da vorgehen muss ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:26 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