![]() |
TPageControl - Alternative ?
Hallo Insider,
ich benötige offenbar etwas Nachhilfe. Eine meiner PageControl-Anwendungen mit etlichen TabSheets braucht noch weitere. Bevor die Main-Unit mit den VCL-Ereignisbezogenen Funktionen in den 5-stelligen Befehlszeilen-Bereich wächst, wollte ich die TabSheets in einzelne Forms aufsplitten. Wenn ich die modal anzeige, bin ich festgenagelt mit Bewegung und Steuerung. Anzeigen mit Show klappt eigentlich gut, inkl. Bewegung (WM_MOVE), aber die ganze Konstruktion ist irgendwie labil. Z.B. verlieren Arrays mit Komponeneten ihre Inhalte, ich muss sie immer wieder bei OnShow neu laden. Verrenne ich mich da gerade in einen Dschungel ? Sollte jemand mein Problem verstehen, wäre ich um jeden Hinweis dankbar. (Auch 'mach nicht so einen Blödsinn, denn...') Danke schonmal Reinhold |
AW: TPageControl - Alternative ?
Zitat:
|
AW: TPageControl - Alternative ?
Alles was momentan auf einem Tab liegt in 'nen eigene Frame packen, einschließlich der Logik (soweit möglich und erforderlich).
Die Frames bekommen dann 'nen Tab als Parent. Damit kannst Du sehr viel Code in unterschiedliche Units auslagern, hast aber nicht die mit dem ShowModal verbundenen Einschränkungen. |
AW: TPageControl - Alternative ?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallöle...8-)
Zitat:
Meine Lösung als Idee: 1. Bild 2. Code zum Aufruf des Frames oder Form
Delphi-Quellcode:
procedure TfoPreferences.tvContentChange(Sender: TBaseVirtualTree; Node: PVirtualNode);
var Data: PSEAMTreeDataObject; begin Data := Sender.GetNodeData(Node); if Assigned(Data) then begin case Data^.AbsolutIndex of 10000, 10100, 10400, 11000, 11210, 11300, 11500, 11600: begin pgcContent.ActivePage:= tsClear; end; 10350: begin pgcContent.ActivePage:= tsMisc; end; 10700: begin pgcContent.ActivePage:= tsContent; actSecurityManager.Execute; end; 10710: begin pgcContent.ActivePage:= tsContent; actDatabaseLock.Execute; end; ... end; ... procedure TfoPreferences.actDatabaseLockExecute(Sender: TObject); var Form: TForm; begin FPreferences.PreferencesCommon.FormDictionary.TryGetValue('frDatabaseLock', Form); if not Assigned(Form) then begin Form := TfrDatabaseLock.Create(Application, FPreferences); FPreferences.PreferencesCommon.FormDictionary.Add('frDatabaseLock', Form); end; SetContentForm(Form, pnlContent, Sender, Format(conTextContentSecurity, [TAction(Sender).Caption])); Form.Show; end; |
AW: TPageControl - Alternative ?
Phantastisch.
Danke euch beiden, dass ihr so schnell mein Problem kapiert habt. TFrame ist die Lösung, damit kann ich wirklich alles hinkriegen. (Seit wann gibt's die eigentlich? :shock: Bin erst seit Delphi 1 dabei :stupid:) |
AW: TPageControl - Alternative ?
Zitat:
|
AW: TPageControl - Alternative ?
echte Lücke bei mir - trotz dBase, Clipper und VO :oops:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:55 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-2025 by Thomas Breitkreuz