Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: Narciso - Novembre 09, 2016, 07:19:41 pm

Titolo: Form nella form
Inserito da: Narciso - Novembre 09, 2016, 07:19:41 pm
vorrei che il mio programma aprisse una form(secondaria) all'interno di un'altra form(principale) e che non sparisse se cliccassi sulla form principale.
Il metodo di settare la form secondaria come formstyle=stayontop, non mi è utile, poiché in caso di crash rimane i primo piano e non mi mostra gli errori.
Se avete qualche idea...
Titolo: Re:Form nella form
Inserito da: schumi - Novembre 09, 2016, 09:57:50 pm
prova con il metodo ShowModal

ciao
Titolo: Re:Form nella form
Inserito da: Narciso - Novembre 10, 2016, 05:14:59 pm
la finestra modal mi inibisce le attività nell finestra principale... grz cmq
Titolo: Re:Form nella form
Inserito da: nomorelogic - Novembre 10, 2016, 06:26:33 pm
appena creata la form secondaria, prova inserendo la seguente istruzione:

FormSecondaria.Parent:=FormPrimaria;
Titolo: Re:Form nella form
Inserito da: Narciso - Novembre 12, 2016, 07:26:43 pm
Ho provato nomorelogic, mi da errore:
TWinControl.WMSize loop detected
Titolo: Re:Form nella form
Inserito da: nomorelogic - Novembre 13, 2016, 03:50:46 pm
Ciao ho fatto delle prove ed il tuo stesso errore lo ottengo se imposto la proprietà Align della fom secondaria.

Senza impostare Align mi funziona, ad esempio il seguente codice a me risulta ok:
Codice: [Seleziona]
procedure TForm1.Button2Click(Sender: TObject);
var Subform:TForm2;
begin
   Subform:=TForm2.Create(self);
   Subform.Parent:=self;
   Subform.Left:=10;
   Subform.Top:=10;
   Subform.Show;
end;
Titolo: Re:Form nella form
Inserito da: Narciso - Novembre 16, 2016, 12:11:29 pm
la form sfarfalla in modo fastidioso... ho deciso di renderla stayontop.

Titolo: Re:Form nella form
Inserito da: Stilgar - Novembre 16, 2016, 12:48:40 pm
A me sembra abbastanza stabile come rendering.
Ti allego un esempio.

Stilgar