2012-11-25 14 views
5

Ich weiß, dass ich wahrscheinlich etwas vermisse, aber ich kann nicht verstehen, was. Ich habe gerade eine Testanwendung mit 2 Formularen (Form1, Form2) erstellt. Ich habe eine Schaltfläche zu Form1 mit dem folgenden Code in dem OnClick-Ereignishandler hinzugefügt:Wie man mehrere Fenster in FireMonkey FM2 verwendet

Application.CreateForm(TForm2,Form2); 
Form2.Show; 

Wenn ich auf die Schaltfläche klicken, wird eine zweite Form gezeigt wird, wie es zu verstehen ist, aber wenn ich auf Form1 I kann es nicht nach vorne bringen, auch wenn es die Eigenschaft TopMost auf True gesetzt hat.

Was fehlt mir? Wie kann ich es beheben? Ich muss einige Unterformulare und ein Hauptformular anzeigen, die immer oben sein müssen.

+0

Sieht aus wie form1 ist der Besitzer von form2. Und ich meine Besitzer im Windows-Sinne. In der VCL würde der Begriff Popup-Eltern sein. –

+3

Ja, alle von FMX erstellten Formulare haben 'ParentWnd' in' TPlatformWin.CreateWindow' gesetzt. Die erste erstellte Form verwendet 'GetDesktopWindow', was eine schreckliche Idee zu sein scheint. Und nachfolgende Formulare verwenden das Fensterhandle des ersten Formulars. Das bedeutet, dass nachfolgende Formulare immer dem ersten erstellten Formular gehören. Was ist scheiße. Keine Ahnung, wie ich es beheben kann, weil ich FMX nicht verwende. Ich hoffe, ich muss es nie tun. –

+0

Auf XE2 funktioniert es wie erwartet. Wenn ich mit XE3 kompiliere, kann ich das erste Formular mit WinDowse (Registerkarte Ändern -> Bleib oben) nach oben bringen. Aber ich weiß nicht, welche API und Parameter sie verwenden, um die Magie zu machen ... –

Antwort

0

Ich denke, ich kann dir helfen!

Zuerst müssen Sie ein neues Formular erstellen, indem Sie Datei> Neu> FireMonkey-Formular | Delphi wird diese Form als unit2.pas in demselben Projekt mit form1 speichern

In unit1.pas Sie den Code ein:

uses Unit2; 

Nachdem in unit2.pas Sie Code 'verwendet Unit1'

Jetzt mussten Sie mutiple Fenster und konnte nichts tun

Sie können Form2 anzeigen von: 'Form2.Show'

Bye Viel Glück ...

Verwandte Themen