Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto su MDI Form

Ciao a tutti, premetto che è la prima volta che provo ad usare i form
MDI e sto trvando diverse difficoltà.
Il mio problema è il seguente: Ho il mio FormMDI a cui ho legato un
figlio . Io vorrei che questo figlio fosse sempre visibile ma non appena
apro una MsgBox mi scompare.
Dove ho sbagliato ?
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Dimenticavo una cosa .... il form figlio ha BorderStyle = 0



Non per dire ma a me quello che dici capita solo se "dimentico" di impostare 
a True la proprietà MDIChild del figlio.
Se non gli dici che è un figlio lui pensa di essere orfano poveretto..
Ciao,
    Diego 

No il problema non è questo, la proprietà è impostata a TRUE. 
Forse sarà un figlio non molto ben voluto ma sicuramente non 
è un orfanello  ;-).
Allora ora vi faccio un'altra domanda.... se volessi avere un form 
all'interno del padre, FISSO (quindi con BorderStyle = 0) e sempre 
visibile (qualsiasi cosa succeda) come dovrei fare?
P.S: Se riesco a fare questo dovrei risolvere il mio problema.


 P.S: Se riesco a fare questo dovrei risolvere il mio problema.
Accidenti: a me non sparisce se il Child ha la MDIChild = True. Faccio
fatica a darti una mano così..
Un po' di domande per capirci:
Ma chi è che visualizza l'MsgBox?
Sei sicuro che il problema sia collegato con BorderStyle = None? Sparisce
con altri BorderStyle?
Inoltre non è necessario BorderStyle=0, basta Moveable = False e un
BorderStyle qualunque fra quelli Fixed.
PS: se spegni il monitor però è difficile mantenere visibile il form.. ;-P
Ciao e buon scervellamento...
    Diego
- 
http://www.Mailgate.ORG
 

Allora prima di tutto ti ringrazio per l'aiuto ora cerco 
di rispondere alle tue domande.
Allora il problema mi si ripresenta utilizzando qualsiasi
altro BorderStyle.
Il MsgBox lo genero non appena l'utente clikka sulla X per chiudere 
l'MDIForm (e quindi il programma).
P.S: Fra un po non avrň bisogno di spegnere il monitor per vedere il
form perchč non ne avrň piů uno in quanto lo butto dal balcone ;)


 [...]
Ah, ma allora è tutto più chiaro!!!!
Se ho capito giusto ti ricordo che quando chiudi un MDIForm succede questo:
Prima vengono chiusi tutti i form, poi viene chiuso il MDIForm.
Per ogniuno dei due passi vengono generati gli eventi QueryUnload e poi 
Unload, prima per ciascuno dei form, poi per il papà..
Prova a vedere se centra..
..vedi vedi che ti eri dimenticato di dire qualcosa di importante?
..magari poi sbaglio e faccio una figuraccia..
Ciao,
    Diego

Niente figuracce il problema č proprio questo ;-).
Il padre prima di uccidere se stesso uccide tutti i figli.
Il mio problema perň rimane, poi chč se sull'evento Unload dell'MDIForm
genero l'MSGBOX (per chiedere la conferma o meno dell'uscita dal prog),
questo non mi serve a niente in quanto tutti i figli muoiono cmq (e
quindi scompaiono).
C'č un modo di evitare che i figli vengano uccisi o devo gestire il 
ricaricamento a mano ?


 ricaricamento a mano ?
Ma come?
..non č chiaro? visualizzi l'MsgBox di conferma direttamente dai figli!
Se anche uno solo non si lascia uccidere il processo di sterminio si ferma!
provare per credere!
Ciao,
    Diego

Adesso č tutto chiaro.....grazie mille
P.S: Questo MDIForm č proprio un padre ingrato ... uccide i figli prima
di uccidere se stesso ;-)



Sadicamente parlando il contrario non sarebbe possibile..
..da un punto di vista informatico, te li immagini i Figli in giro per il 
desktop senza il padre a raccoglierli? non ha tanto senso..
Ciao,
    Diego 

 > P.S: Questo MDIForm č proprio un padre ingrato ... uccide i figli prima

Prova questo:
Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If MsgBox("sicuro", vbQuestion + vbYesNo) = vbNo Then Cancel = True
End Sub
cosě la richiesta ti viene fatta prima di iniziare ad uccidere i figli
Bye,
Walker Boh
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Walker Boh
Accidenti, č vero: ricordavo male: in effetti si dovrebbe avere:
- Query Unload sul padre
    - Query Unload e Unload sui figli
- Unload del padre..
Grazie della correzione!
    Diego