AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls TTreeview - Höhe der Items bei Eigenschaft Wordwrap nicht korrekt
Thema durchsuchen
Ansicht
Themen-Optionen

TTreeview - Höhe der Items bei Eigenschaft Wordwrap nicht korrekt

Ein Thema von bluesky70 · begonnen am 23. Sep 2017 · letzter Beitrag vom 25. Sep 2017
Antwort Antwort
bluesky70

Registriert seit: 26. Apr 2007
35 Beiträge
 
Delphi XE5 Enterprise
 
#1

TTreeview - Höhe der Items bei Eigenschaft Wordwrap nicht korrekt

  Alt 23. Sep 2017, 14:14
Hallo,

ich entwickle einen Anwendung unter Delphi XE 10.2.1, die für IOS und Android compiliert werden soll.

Ich habe hierbei eine TTreeview-Komponente verwendet, die mir in drei Ebenen die Werte als Baum anzeigen soll.

Dabei habe ich das Problem, dass die Höhe der Items nicht korrekt berechnet wird, wenn die Eigenschaft WordWrap eingeschaltet ist und dadurch einzelne Elemente mehrzeilig in der Darstellung werden.

Der Text wird dann zwar umgebrochen, die Höhe der Items ist aber immer wie für eine Zeile. Eigentlich müsste doch die Höhe abhängig von der Zeilenanzahl, die sich für das Item ergibt, berechnet werden.

Im Quelltext erzeuge ich die Elemente des Baumes wie folgt:

EPItem := TTreeViewItem.Create(nil);
EleItem.WordWrap := True;
...
EleItem.Text := ...
EleItem.Parent := ...

Auf dem Form liegt ein StyleBook, in dem der treeviewitemstyle etwas abgeändert wurde. das oben beschriebene Problem besteht aber auch, wenn es diesen Style im StyleBook nicht gibt, es hat also wahrscheinlich nichts mit dem Style an sich zu tun.

Ich hoffe es kann damit jemand etwas anfangen und hat eine Idee, was da für eine Eigenschaft evtl. einzustellen ist oder das Problem zu lösen ist.

Vielen Dank im Voraus.
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.017 Beiträge
 
Delphi 2009 Professional
 
#2

AW: TTreeview - Höhe der Items bei Eigenschaft Wordwrap nicht korrekt

  Alt 23. Sep 2017, 16:21
Wie rufst du die Höhe denn ab?
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
bluesky70

Registriert seit: 26. Apr 2007
35 Beiträge
 
Delphi XE5 Enterprise
 
#3

AW: TTreeview - Höhe der Items bei Eigenschaft Wordwrap nicht korrekt

  Alt 23. Sep 2017, 19:20
Hallo,

das Problem ist nicht das Abrufen der Höhe.

Wenn man den Treeview ganz normal anzeigt mit der Eigenschaft Wordwrap, dann werden ja die Elemente mehrzeilig umgebrochen und angezeigt. Klickt man aber ein solches Element an, so daß es markiert ist dann ist die Markierung nicht hoch genug und der Text oben und unten abgeschnitten.

Grüsse
  Mit Zitat antworten Zitat
bluesky70

Registriert seit: 26. Apr 2007
35 Beiträge
 
Delphi XE5 Enterprise
 
#4

AW: TTreeview - Höhe der Items bei Eigenschaft Wordwrap nicht korrekt

  Alt 25. Sep 2017, 09:29
Hallo,

ich hänge nochmal einen Sceenshot an, wie das ganze aussieht bzw. was das Problem ist.

Ausserdem die PAS und FMX-Datei. Ist also direkt ersichtlich bei einem einfachen Beispielform mit einem Treeview.

Was mache ich da falsch?

Danke im Voraus.


Delphi-Quellcode:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 480
  ClientWidth = 640
  FormFactor.Width = 320
  FormFactor.Height = 480
  FormFactor.Devices = [Desktop]
  OnShow = FormShow
  DesignerMasterStyle = 0
  object TreeView1: TTreeView
    Align = Client
    Size.Width = 640.000000000000000000
    Size.Height = 480.000000000000000000
    Size.PlatformDefault = False
    TabOrder = 0
    Viewport.Width = 636.000000000000000000
    Viewport.Height = 476.000000000000000000
  end
end
Delphi-Quellcode:
unit TreeTest;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Layouts,
  FMX.TreeView;

type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    procedure FormShow(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.fmx}

procedure TForm1.FormShow(Sender: TObject);
Var ParentItem,
    TreeItem : TTreeViewItem;
    Cnt : Integer;

begin
Cnt := 1;
TreeItem := TTreeViewItem.Create(nil);
TreeItem.Name := 'ItemNo'+IntToStr(Cnt);
Inc(Cnt);
TreeItem.WordWrap := True;
TreeItem.Text := 'Stufe 1';
TreeItem.Parent := TreeView1;
ParentItem := TreeItem;
TreeItem := TTreeViewItem.Create(nil);
TreeItem.Name := 'ItemNo'+IntToStr(Cnt);
Inc(Cnt);
TreeItem.WordWrap := True;
TreeItem.Text := 'Stufe 2';
TreeItem.Parent := ParentItem;
ParentItem := TreeItem;
TreeItem := TTreeViewItem.Create(nil);
TreeItem.Name := 'ItemNo'+IntToStr(Cnt);
Inc(Cnt);
TreeItem.WordWrap := True;
TreeItem.Text := 'Stufe 3';
TreeItem.Parent := ParentItem;
ParentItem := TreeItem;
TreeItem := TTreeViewItem.Create(nil);
TreeItem.Name := 'ItemNo'+IntToStr(Cnt);
Inc(Cnt);
TreeItem.WordWrap := True;
TreeItem.Text := 'Stufe 4: kurzer Text';
TreeItem.Parent := ParentItem;
TreeItem := TTreeViewItem.Create(nil);
TreeItem.Name := 'ItemNo'+IntToStr(Cnt);
Inc(Cnt);
TreeItem.WordWrap := True;
TreeItem.Text := 'Stufe 4 mit langem Text für Umbruch';
TreeItem.Parent := ParentItem;
TreeItem := TTreeViewItem.Create(nil);
TreeItem.Name := 'ItemNo'+IntToStr(Cnt);
Inc(Cnt);
TreeItem.WordWrap := True;
TreeItem.Text := 'Stufe 4: wieder kurz';
TreeItem.Parent := ParentItem;
end;

end.
Miniaturansicht angehängter Grafiken
screenshottreeviewhoehe.png  
  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 07:15 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