AGB  ·  Datenschutz  ·  Impressum  







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

FMX Form in einen anderen einbetten

Ein Thema von TigerLilly · begonnen am 13. Sep 2017 · letzter Beitrag vom 17. Sep 2017
Antwort Antwort
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#1

FMX Form in einen anderen einbetten

  Alt 13. Sep 2017, 21:20
Ich möchte einen Form in einen anderen einbetten, bzw dort in TPanel oder TLayout.
In der VCL hat das problemlos funktioniert - unter FMX geht das wohl nicht so einfach.

Ich habe die Variante gefunden, dass die Komponenten des 2ten Forms als Parent den neuen Form erhalten. Aber dann bleibt immer noch der leere Form übrig.

Weiß jemand eine elegante Methode, wie man einen ganzen FMX Form in ein TLayout eines anderen Forms einbetten kann?

Danke für jede Antwort!
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: FMX Form in einen anderen einbetten

  Alt 13. Sep 2017, 21:28
Warum Formular und nicht Frame?
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#3

AW: FMX Form in einen anderen einbetten

  Alt 13. Sep 2017, 21:31
Weil ich Frames nicht mag. :-/
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.168 Beiträge
 
Delphi 12 Athens
 
#4

AW: FMX Form in einen anderen einbetten

  Alt 14. Sep 2017, 19:16
Probier mal das hier :

Delphi-Quellcode:
// AForm is newly created externally and then can be
//embedded to a control, such as a panel or a tabsheet.
procedure Form_Embed_To(const AForm:TCustomForm; const AParent:TControl);
var
  chld: TFmxObject;
  I: Integer;
begin
  if Assigned( AParent ) then
  begin
      AParent.BeginUpdate;

      I := 0;
      while AForm.ChildrenCount > 0 do
      begin
        chld := AForm.Children[I];
        if chld.Name <> 'then
          AForm.Children[I].Parent := AParent
        else
          Inc(I);
      end;

      AParent.EndUpdate;
  end;
end;
Rollo
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#5

AW: FMX Form in einen anderen einbetten

  Alt 14. Sep 2017, 20:43
Ja, das geht so - danke. Ich mach es mit einem übergeordneten TLayout, da muss man dann nur eines zuweisen.
Aber der Form wird trotzdem noch angezeigt - nur ohne Inhalt. Und Owner der Controls ist immer noch der Form.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#6

AW: FMX Form in einen anderen einbetten

  Alt 14. Sep 2017, 20:46
Wenn der Form auf transparent + ohne Rahmen gesetzt wird, schaut das noch besser aus.

Danke, Rollo62!
  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 20:02 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