2012-11-25 29 views
5

Muhtemelen bir şeyleri kaçırdığımı biliyorum, ama ne olduğunu anlayamıyorum. Sadece 2 formlu bir test uygulaması oluşturdum (Form1, Form2). Ben butonuna tıklayınca amaçlandığı anlaşılacaktırFireMonkey FM2'de çoklu pencereler nasıl kullanılır

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

, ikinci formu gösterilmektedir, ancak Form1 I tıklarsanız: Ben OnClick olay işleyicisi aşağıdaki kodu ile Form1'e bir düğme ekledik TopMost özelliğine ayarlanmış olsa bile, öne getiremezsiniz.

Neyi eksik? Nasıl düzeltebilirim? Bazı alt formları ve her zaman en üstte olması gereken bir ana formu göstermem gerekiyor.

+0

Form1, form2'nin sahibine benziyor. Ve Windows anlamda sahibi demek istiyorum. VCL'de, terim, popup parent olur. –

+3

Evet, FMX tarafından oluşturulan tüm formlar, 'TPlatformWin.CreateWindow' içinde ayarlanmış' ParentWnd' var. Oluşturulan ilk form, korkunç bir fikir gibi görünüyor GetDesktopWindow' kullanır. Ve sonraki formlar, ilk formun pencere tanıtıcısını kullanır. Bu, sonraki formların her zaman yaratılan ilk forma ait olduğu anlamına gelir. Hangi berbat. Nasıl düzelteceğimi bilmiyorum çünkü FMX kullanmıyorum. Umarım asla yapmam. –

+0

XE2'de beklendiği gibi çalışır. XE3 ile derlerseniz, WinDowse'u kullanarak ilk formu en üstte getirebilirim (sekme Değiştir -> üstte kal). Ama sihir yapmak için hangi API ve parametreleri kullandıklarını bilmiyorum ... –

cevap

0

Sanırım size yardımcı olabilirim!

İlk olarak, Dosya> Yeni> FireMonkey Form | öğesini seçerek yeni form oluşturmalısınız. Kod Şimdi

'Birimini1 kullanır', unit2.pas içinde sonra

uses Unit2; 

: Delphi size, kod unit1.pas olarak form1

ile aynı projede unit2.pas olarak bu formu kazandıracak ...

'Form2.Show'

Bye İyi şanslar: Eğer mutiple, Windows vardı ve bir şey

sen tarafından Form2 göster olabilir yapabilirdi! 210

İlgili konular