Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Tree drucken (https://www.delphipraxis.net/15694-tree-drucken.html)

Micha 2. Feb 2004 19:02


Tree drucken
 
Hi ihr,

weiß jemand eine elegante Möglichkeit die Items eines TreeViews zu drucken?

Die Einrückungen sollen dabei mitgedruckt werden, also die Baumstruktur.

Hat jemand ne Lösung dafür?
Geht das evtl. auch über Rave?

merlin17 2. Feb 2004 20:33

Re: Tree drucken
 
hi,

mit rave sinnvollerweise nur über die codebased-componenten (sind in der beX-version
von Rave enthalten).


:-) thomas, TeamNevrona

Stanlay Hanks 2. Feb 2004 20:35

Re: Tree drucken
 
Hi. Du könntest den Tree mit SaveToFile als Textdatei speichern, wobei die Einrückungen erhalten bleiben, und diese Datei dann drucken.

Man liest sich, Stanlay :hi:

FriFra 2. Feb 2004 20:48

Re: Tree drucken
 
Eigentlich schade, dass man keinen Canvas des vollständigen TreeView bekommt. Ich wollte auch mal einen TreeView drucken und hab es dann aufgegeben :? ...

moritz 2. Feb 2004 20:53

Re: Tree drucken
 
TreeView drucken ist im Prinzip kein Problem. Ein paar Striche mit Canvas auf den Drucker, ein bisschen was schreiben.
Du musst halt einen rekursiven Algo schreiben.

Gruß

Stanlay Hanks 2. Feb 2004 20:56

Re: Tree drucken
 
Hmm...Ich hab das jetzt so aufgefasst, dass er nur die Struktur will, also nur die Einrückungen. Oder will er auch die ganzen, von euch beschriebenen, Striche und [+] Symbole etc. haben?

Man liest sich, Stanlay :hi:

Micha 2. Feb 2004 20:57

Re: Tree drucken
 
Fangen wir von oben an: *g*

@merlin: muss ich gleich mal ausprobieren, ob ich das hinbekomm. Sehr gut.

@Stanlay Hanks: Funktioniert bei mir leider nur bedingt. Die Einrückungen sind nämlich mit den ID's der Knoten aufgefüllt.

@Onz: Sorry, weiß gerade überhaupt nicht, was du da schreibst. *g*
Nee, im Ernst, ich versteh nicht ganz, was du meinst.

Danke erstmal euch allen. Meld mich morgen nochmal, ob und wie's geklappt hat.

Micha 2. Feb 2004 21:03

Re: Tree drucken
 
Oh, sorry, ich will natürlich nur die Einrückungen. "+" und die Linien möchte ich eigentlich nicht haben. Aber das würd ich in Kauf nehmen.

Stanlay Hanks 2. Feb 2004 21:04

Re: Tree drucken
 
Onz meint, du sollst dir einen Algorythmus schreiben, der den ganzen Tree im Prinzip "abmalt".
Also inklusive aller Icons, Knoten usw. Wäre bestimmt etwas Arbeit, aber bestimmt nicht unmöglich.

Was meinst du mit "ID der Knoten aufgefüllt"?
Bei mir ergibt sich aus dem Tree:

Code:
[-]DP
 |
 |
  -[+]User
 |
  -[-]Links
    |
    |
     -www.delphipraxis.com
wenn ich sie über SaveToFile speichere, eine Datei, die so aussieht:

Code:
DP
  User
  Links
    [url]www.delphipraxis.com[/url]
Man liest sich, Stanlay :hi:

moritz 2. Feb 2004 21:05

Re: Tree drucken
 
Hallo

Also, ich gehe mal davon aus dass du das gesamte TreeView drucken willst. Dann musst du einen Algo schreiben, der in etwa so aussieht (Ist aus der Luft gegriffen):
Delphi-Quellcode:
procedure PrintTreeView(fTop,fLeft: Integer;fItem: TItem);
var
  vI: Integer;
begin
  Inc(fTop,20);  // Eine Zeile tiefer
  Inc(fLeft,20); // Eindrücken
  for vI:=0 to fItem.Items.Count-1 do
  begin
    Canvas.TextOut(fLeft,fTop,fItem.Items[vI].Caption);
    if fItem.Items[vI].HasSubitems then
      PrintTreeView(fTop,fLeft,fItem.Items[vI]);
  end;
end;

procedure ButtonKlickTreeViewDrucken ;)
begin
  PrintTreeView(20,20,TreeView.Items);
end;
Also in etwa so, dann natürlich das Canvas mit dem von dem Drucker tauschen, evtl. neue Seite anfangen usw. Das musst du dann einbauen, dass hier ist nur die grobe Struktur.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:49 Uhr.
Seite 1 von 2  1 2      

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