Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#2

Re: Strukturelles Diagramm aus einem TTreeview erzeugen - WI

  Alt 25. Feb 2009, 18:03
Damit das hier nicht so aussieht, als würde ich fertigen Code erwarten, zeig ich Euch mal, was ich bisher habe.

Ich bin eigentlich schon "FAST" zufrieden. Nur würde ich eben gern die Unterstrukturen jeweils über dem "Elternelement" zentrieren, wie auch das RootElement. Das müsste eigentlich mit einfacher Logik gehen, nur bin ich da nicht ganz so helle.

Hier der Code und ein ScreenShot:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, AdvSmoothButton, StdCtrls, ComCtrls;

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

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
  myButton : TButton;
  i, int_Top_offset, main_Left, int_Left_offset : integer;
begin
  tree.FullExpand;

  int_Top_offset := 30;
  int_Left_offset := 20;
  main_Left := 0;

  for i := 0 to tree.Items.Count-1 do
    begin
      myButton := TButton.Create(self);
      myButton.Parent := Form1;
      myButton.Top := (tree.Items.Item[i].Level * 45) + int_Top_offset;
      myButton.Height := 30;

      inc(main_Left);
      myButton.Left := (main_Left * 75) + int_Left_offset;
      myButton.Caption := tree.Items.Item[i].Text;
      myButton.Visible := true;
    end;
  form1.Repaint;
end;

end.
Miniaturansicht angehängter Grafiken
tree2diagramm_684.png  
Danke
Tom
  Mit Zitat antworten Zitat