Einzelnen Beitrag anzeigen

schuetze09

Registriert seit: 3. Mär 2004
113 Beiträge
 
Delphi 2005 Architect
 
#5

Re: Splitter zur Laufzeit erzeugen?

  Alt 22. Apr 2005, 06:45
Leider geht es auch nicht, hier mal mein Code:
Delphi-Quellcode:

  SetLength(Sheet, anzSQL +1);
  SetLength(SQL_Edit, anzSQL +1);
  SetLength(VST_Edit, anzSQL +1);
  SetLength(Splitt, anzSQL +1);
  SetLength(STB_Edit, anzSQL +1);

  // TabSheet erstellen
  Sheet[anzSQL]:=TTabSheet.Create(Form_Main.PageControl_NewTab);
  Sheet[anzSQL].Parent:=Form_Main.PageControl_NewTab;
  Sheet[anzSQL].PageControl:=Form_Main.PageControl_NewTab;
  Sheet[anzSQL].Caption:='Query '+ IntToStr(anzSQL);

  // SQL-Edit erstellen (Synedit)
  SQL_Edit[anzSQL]:=TSynEdit.Create(Sheet[anzSQL]);
  SQL_Edit[anzSQL].Parent:=Sheet[anzSQL];
  with SQL_Edit[anzSQL] do
  begin
    Align:=alTop;
    ActiveLineColor:=clCream;
    Highlighter:=Form_Main.SynSQLSyn1;
    BorderStyle:=bsNone;
    SelectedColor.Background:=clHighlight;
    SelectedColor.Foreground:=clBtnHighlight;
    ShowHint:=True;
    Hint:='Hier Abfrage eintragen';
    Gutter.AutoSize:= True;
    Gutter.Color:= clSkyBlue;
    Gutter.BorderColor:= clSkyBlue;
    Gutter.Font.Color:= clWindowText;
    Gutter.Font.Height:= -11;
    Gutter.Font.Name:= 'Courier New';
    Gutter.Font.Style:= [];
    Gutter.LeftOffset:= 0;
    Gutter.RightOffset:= 3;
    Gutter.ShowLineNumbers:= True;
    Gutter.Width:= 20;
    Gutter.GradientStartColor:= clHighlight;
    Gutter.GradientEndColor:= clWindow;
    Height:=240;
    WordWrap:=True;
    Name:=NamePrefixSQL + IntToStr(anzSQL);
    Lines.Clear;
    OnKeyDown:=tempVST.SQL_EditOnKeyDown;
  end;

  // Splitter erstellen
  Splitt[anzSQL]:=TSplitter.Create(Sheet[anzSQL]);
  Splitt[anzSQL].Beveled:=True;
  Splitt[anzSQL].AutoSnap:=False;
  Splitt[anzSQL].Align:=alTop;

  // Statusbar erstellen
  STB_Edit[anzSQL]:=TStatusBar.Create(Sheet[anzSQL]);
  STB_Edit[anzSQL].Parent:=Sheet[anzSQL];
  with STB_Edit[anzSQL] do
  begin
    Align:=alBottom;
    Panels.Add;
    Panels[0].Text:='';
    Panels[0].Width:=200;
    Panels[0].Alignment:=taCenter;
    Panels.Add;
    Panels[1].Text:='';
    Panels[1].Width:=200;
    Panels.Add;
    Panels[2].Text:='';
  end;

  // VST-Erstellen
  VST_Edit[anzSQL]:=TVirtualStringTree.Create(Sheet[anzSQL]);
  VST_Edit[anzSQL].Parent:=Sheet[anzSQL];
  with VST_Edit[anzSQL] do
  begin
    Align:=alClient;
    BorderStyle:=bsSingle;
    Header.Background:=clSkyBlue;
    Header.Style:=hsFlatButtons;
    Header.Options:=[hoColumnResize,hoDblClickResize,hoDrag,hoVisible];
    TreeOptions.PaintOptions:=[toShowButtons,toShowDropmark,toShowHorzGridLines,toShowTreeLines,toShowVertGridLines,toThemeAware,toUseBlendedImages,toFullVertGridLines];
    TreeOptions.SelectionOptions:=[toFullRowSelect];
    Name:=NamePrefixVST + IntToStr(anzSQL);
    OnInitNode:=tempVST.VST_Edit_OnInitNode;
    OnGetText:=tempVST.VST_Edit_OnGetText;
    OnCompareNodes:=tempVST.VST_Edit_0nCompareNodes;
    OnFreeNode:=tempVST.VST_Edit_0nFreeNode;
    OnHeaderClick:=tempVST.VST_Edit_0nHeaderClick;
  end;
MfG
schuetze09
  Mit Zitat antworten Zitat