AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Mit TreeView Pages vom PageControl wechseln
Thema durchsuchen
Ansicht
Themen-Optionen

Mit TreeView Pages vom PageControl wechseln

Ein Thema von Ykcim · begonnen am 9. Dez 2011 · letzter Beitrag vom 9. Dez 2011
 
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#5

AW: Mit TreeView Pages vom PageControl wechseln

  Alt 9. Dez 2011, 10:59
Beides hat nicht funktioniert. Bei FindControls bekam ich es gar nicht kompiliert. Aber ich denke, dass Du schon die Ursache gefunden hast, denn ich fürchte, dass mich gerade meinen riesiegen BASISLÜCKEN einholen.

Ganz kurz eine Info, wie das Programm aufgebaut ist.

Ich habe das Projekt mit einem Form (Main).
Auf diesem Form befindet sich ein PageControl mit mehreren unsichtbaren TabSheets. (Davon wird nichts zur Laufzeit erstellt).
Auf diesen TabSheets befinden sich Frames, die die unterschiedlichen Programmbereiche darstellen...

Als ich für ein Frame die TabSheets und StringGrids zur Laufzeit erstellt habe, habe ich diesen "Vorgang" an das OnShow-Ereignis dem Main-Forms des Projektes gehängt.

Ich bezweifel, das (self) korrekt war. Ich habe es jetzt jedenfalls wie folgt geändert, aber es klappt immernoch nicht...

Komponenten erzeugen: (KLAPPT)
Delphi-Quellcode:
for I := 0 to Length(Rows1[0]) - 1 do
    begin
      tabsheet:= TTabSheet.Create(PlanungMB1);
      tabsheet.PageControl:=Main.PlanungMB1.Maschinen;
      TabSheet.Name:=Rows1[0,I];
      //TabSheet.TabVisible:=false;
      Main.PlanungMB1.Maschinen.ActivePageIndex:=I;
      DatenGrid:=TStringGrid.Create(Main.PlanungMB1.Maschinen.ActivePage);
      DatenGrid.Parent:=Main.PlanungMB1.Maschinen.ActivePage;
      DatenGrid.Name:='Daten'+Rows1[0,I];
      DatenGrid.Align:=ALClient;
      DatenGrid.Visible:=true;
      DatenGrid.ColCount:=5;
      DatenGrid.RowCount:=5;
      DatenGrid.FixedCols:=0;
      DatenGrid.Cells[0,1]:=TabSheet.Name;
    end;
  Main.PlanungMB1.Maschinen.ActivePageIndex:=0;
  PlanungMBUnit.TreeviewRefresh(Main.PlanungMB1.Fertigungsbereich);
TabSheetwechsel: (KLAPPT NICHT)
Delphi-Quellcode:
procedure TPlanungMB.FertigungsbereichMouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var Node : TTreeNode;
    Sheet:TTabSheet;
begin
  Node := (Sender as TTreeview).GetNodeAt(X, Y);
  if Assigned(Node) then
     begin
       Sheet := Main.PlanungMB1.Maschinen.FindComponent(Node.Text) as TTabSheet;
       if Assigned(Sheet) then
         Maschinen.ActivePage := Sheet;
     end;
end;
Ich bin ratlos...

Gruß
Ykcim
Patrick
  Mit Zitat antworten Zitat
 


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 08:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz