AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TPageControl - Alternative ?

Ein Thema von Graf Gustav · begonnen am 3. Mai 2024 · letzter Beitrag vom 3. Mai 2024
Antwort Antwort
Graf Gustav

Registriert seit: 13. Mär 2011
51 Beiträge
 
Delphi 10.4 Sydney
 
#1

TPageControl - Alternative ?

  Alt 3. Mai 2024, 14:23
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
Reinhold
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.452 Beiträge
 
Delphi 12 Athens
 
#2

AW: TPageControl - Alternative ?

  Alt 3. Mai 2024, 14:26
Sollte jemand mein Problem verstehen
An diesem Part gibt es vermutlich noch Luft nach oben.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#3

AW: TPageControl - Alternative ?

  Alt 3. Mai 2024, 14:44
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.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#4

AW: TPageControl - Alternative ?

  Alt 3. Mai 2024, 14:45
Hallöle...
Zitat:
Eine meiner PageControl-Anwendungen mit etlichen TabSheets braucht noch weitere.
Versuch das zu verstehen was du möchtest. Ich gehe davon aus, wegen der Menge der Reiter, ist es unübersichtlich sowohl im Code als auch in der Oberfläche...

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;
Miniaturansicht angehängter Grafiken
tree.png  
  Mit Zitat antworten Zitat
Graf Gustav

Registriert seit: 13. Mär 2011
51 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TPageControl - Alternative ?

  Alt 3. Mai 2024, 15:55
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? Bin erst seit Delphi 1 dabei )
Reinhold
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#6

AW: TPageControl - Alternative ?

  Alt 3. Mai 2024, 16:10
(Seit wann gibt's die eigentlich? Bin erst seit Delphi 1 dabei )
Gab's schon bei Turbo&Borland-Pascal 7, also "lange" vor Delphi 1.
  Mit Zitat antworten Zitat
Graf Gustav

Registriert seit: 13. Mär 2011
51 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: TPageControl - Alternative ?

  Alt 3. Mai 2024, 16:22
echte Lücke bei mir - trotz dBase, Clipper und VO
Reinhold
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 23:14 Uhr.
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