Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Il form è visualizzato?

Ciao a tutti,
mi pare che gia se n'è parlato ma non trovo più la news.
Cmq il mio problema è questo:
ho un prg su VB6 (e Win98b) con un MDIform con 2 form child.Come faccio a
sapere se un form child è attualmente visibile? (non mi interessa che sia
attivo o no, solo se attualmente è visibile).
Ho provato con:
if (form.visible = true) then
o anche
if (form.show = true) then
ma invece di darmi come risultato true o false mi visualizzano il form,
mentre sia i manuali che l'help dicono che dovrebbero restituire il loro
stato (oltre che a settarlo)! grrrrrr
Grazie a tutti.
Mirco.

 Mirco.
Se nella tua applicazione il form visibile è equivalente al form caricato in
memoria, dovresti risolvere il problema controllando se il form è presente
nella collezione Forms. Altrimenti "if Form.Visible=True Then ..." dovrebbe
bastare!
 __     __
<o>  <o>
      []
  \____/   ......(Ciao!)
Pasquale Minerva
mine...@libero.it

 ciao, pal
Vabbe' che sono bravo ... pero' ...  :)))))
Comunque in questo caso c'e' una soluzione ancora piu' semplice e abbastanza
elegante:
if frmComeDiavoloMiChiamo.Visible = True then
    'Il Form e' visibile
else
    'Il Form nun se vede !!!
endif
--
Ciaps
Stracca
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cerca le risposte alle tue domande sul Sito Comune del
newsgroup it.comp.lang.visual-basic: 
http://www.murialdo.it/it_lang_vb
Magari prima leggi l'Help in linea!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Ragazzi, mi sembra di aver capito che il problema di Mirco è quello di
sapere se è il form è caricato o no e nel caso sia caricato se è visibile o
no.
Infatti il suo problema è che cerca di leggere la proprietà visible di un
form non caricato.
Come è ben noto, facendo accesso alle proprietà di un form mdichild che non
è caricato si ottiene l'effetto di caricarlo automaticamente.
Quindi è giusto il tuo suggerimento, Pasquale, cioè di cercare nella
collezione form, ma non è valida l'alternativa di accedere direttamente alla
proprietà visible.
Un'alternativa è quella di usare dei flag booleani ma non è certamente molto
elegante.
--
Nino Stella
Inteldata Srl
email: 
nino...@tin.it


Se non fosse che se il form mdichild non è in memoria ottieni l'indesiderato
effetto che si carica automaticamente e quindi "if frmMdiChild.visible"
restituirà sempre True.


 proprietà visible.
La seconda alternativa l'ho inserita solo per completezza, perchè non
conosciamo esattamente l'esigenze di Mirco!
Dunque la seconda alternativa va utilizzata in casi particolari. Per esempio
ci sono alcuni tipi di form (ad esempio le finestre galleggianti) che si
preferisce non caricare e scaricare dalla memoria ogni volta che l'utente le
apre o le chiude e quindi intercettando l'evento di chiusura queste vengono
semplicemente nascoste e in seguito scaricate alla chiusura
dell'applicazione. Quindi in questi casi il controllo della proprietà
Visible è più che sufficente!
Spero di essermi spiegato meglio questa volta. :)
 __     __
<o>  <o>
      []
  \____/   ......(Statevi bene!)
Pasquale Minerva
mine...@libero.it

 Vabbe' che sono bravo ... pero' ...  :)))))
