So che probabilmente mi manca qualcosa, ma non riesco a capire cosa. Ho appena creato un'applicazione di test con 2 moduli (Form1, Form2). ho aggiunto un pulsante a Form1 con il seguente codice nel gestore di eventi OnClick:Come utilizzare più finestre in FireMonkey FM2
Application.CreateForm(TForm2,Form2);
Form2.Show;
Quando clicco il bottone, una seconda forma è mostrato come si intende, ma se clicco su Form1 I impossibile portarlo in primo piano anche se ha la proprietà TopMost
impostata su true.
Cosa mi manca? Come posso risolvere il problema? Devo mostrare alcune sottomaschere e un modulo principale che deve essere sempre in primo piano.
Sembra che form1 sia il proprietario di form2. E intendo il proprietario nel senso di Windows. Nel VCL, il termine sarebbe popup genitore. –
Sì, tutti i moduli creati da FMX hanno 'ParentWnd' impostato in' TPlatformWin.CreateWindow'. Il primo modulo creato utilizza 'GetDesktopWindow', che sembra una pessima idea. E i moduli successivi usano la maniglia della finestra del primo modulo. Ciò significa che i moduli successivi sono sempre di proprietà del primo modulo creato. Che fa schifo Non ho idea di come ripararlo perché non uso FMX. Spero di non averlo mai. –
Su XE2 funziona come previsto. Se compilo con XE3 posso portare il primo modulo in cima usando WinDowse (scheda Modifica -> rimani in cima). Ma non so quali API e parametri stanno usando per fare la magia ... –