AGB  ·  Datenschutz  ·  Impressum  







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

Formulare auf PageControl werden nicht dargestellt

Ein Thema von AndyDF · begonnen am 2. Apr 2015 · letzter Beitrag vom 2. Apr 2015
Antwort Antwort
AndyDF

Registriert seit: 6. Sep 2006
Ort: Allgäu
99 Beiträge
 
Delphi 10.4 Sydney
 
#1

Formulare auf PageControl werden nicht dargestellt

  Alt 2. Apr 2015, 09:23
Hallo,

habe ein Problem, dass mich schon relativ lange und immer wieder beschäftigt.

Ich habe öfter mal eine PageControl im Einsatz bei der ich auf jeder Seite ein anderes eigenes Formular anzeige.
Diese Formulare werden dynamisch zur Laufzeit erzeugt.
Wenn das dyn. Formular selbst auch eine PageControl enthält welche wiederum ein Formular anzeigt, kommt es beim ersten Start zu einem Anzeigeproblem.

Dabei wird das Formular erst angezeigt, wenn ich einmal auf einen anderen TabSheet wechsle und zurück.

Im Anhang habe ich ein Beispiel Projekt angehängt. (nichts besonderes - habe es nur schnell zusammen geklickt).
Beim Start sollte die "Seite 1" korrekt aussehen und TabSheet 1 sollte befüllt sein.
Beim Wechsel auf "Seite 2" sollte die PageControl auf "Seite 2" leer sein. Wird erst dargestellt nach Wechsel auf TabSheet2 und zurück auf TabSheet1.

Kann ich mit Delphi XE2 und Delphi XE7 nachvollziehen.

Habe es bisher immer mit Workarounds gelöst wie: Den Show der SubForms Timer gesteuert ausführen. Aber das ist auch nicht schön.
Vielleicht hat hierzu einer eine Idee.

Ich möchte allerdings keine Frames sondern Forms verwenden. In unserer Anwendung müssen die Sub-Forms auch eigenständig laufen können.
Normalerweise verwende ich auch die PageControl von DevExpress. Das Problem habe ich auch da.

Viele Grüße,
Andreas
Angehängte Dateien
Dateityp: zip Testprojekt.zip (1,98 MB, 6x aufgerufen)
Andreas Blenk
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.735 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Formulare auf PageControl werden nicht dargestellt

  Alt 2. Apr 2015, 09:52
Ich möchte allerdings keine Frames sondern Forms verwenden. In unserer Anwendung müssen die Sub-Forms auch eigenständig laufen können.
Na, das ist doch auch mit Frames kein Problem. Da schreibst du dir eine kleine Routine ShowFrameModal oder so, die eine leere TForm erzeugt, auf die du den Frame pappst.
Uli Gerhardt
  Mit Zitat antworten Zitat
AndyDF

Registriert seit: 6. Sep 2006
Ort: Allgäu
99 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Formulare auf PageControl werden nicht dargestellt

  Alt 2. Apr 2015, 10:15
Ich möchte allerdings keine Frames sondern Forms verwenden. In unserer Anwendung müssen die Sub-Forms auch eigenständig laufen können.
Na, das ist doch auch mit Frames kein Problem. Da schreibst du dir eine kleine Routine ShowFrameModal oder so, die eine leere TForm erzeugt, auf die du den Frame pappst.
Ja das ist schon richtig. Aber wir nutzen das dyn. Verwenden von Formulare sehr intensiv. Daher würde wir gerne momentan auch weiterhin Formulare und keine Frames verwenden.
Mich würde interessieren ob es eine Lösung mit den Formularen gibt oder ob grundsätzlich an der Vorgehensweise etwas nicht stimmt. Ich weiß auch gar nicht, ob das Problem nicht auch mit Frames besteht.
Andreas Blenk
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Formulare auf PageControl werden nicht dargestellt

  Alt 2. Apr 2015, 11:10
Ich werfe jetzt mal Delphi-Referenz durchsuchenTControl.ManualDock in den Raum.

Um eine Form zu einem PageControl hinzuzufügen genügt es:
Delphi-Quellcode:
procedure Foo( APageControl : TPageControl; AForm : TForm );
begin
  AForm.ManualDock( APageControl, nil, alClient );
  AForm.Visible := True;
end;
Dabei wird TForm.Caption automatisch als TTabSheet.Caption verwendet.

Ach ja, und die TabSheets brauche ich auch nicht erzeugen, denn diese werden durch das Docken automatisch erzeugt
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  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 22:17 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