VB6 Form Show

Le
msnews.microsoft.com
Bonjour à tous,

Suite à une erreur "Feuille déjà affichée; imposible d'afficher modalement"

Comment savoir si une fenêtre est déjà affichée ?

Avec mes remerciements.
Michel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Aski
Le #19540171
Hello Michel,

Suite à une erreur "Feuille déjà affichée; imposible d'afficher
modalement"

Comment savoir si une fenêtre est déjà affichée ?



As-tu essayé avec la propriété (boolean) "Visible" ?
If Form1.Visible then 'la feuille est visivle
--
Cordialement

Aski
MVP Windows Desktop Experience
http://dechily.org/
http://dechily.org/Forum_Aski/
Jacques93
Le #19540481
Bonjour Henri,
Aski a écrit :
Hello Michel,

Suite à une erreur "Feuille déjà affichée; imposible d'afficher
modalement"

Comment savoir si une fenêtre est déjà affichée ?



As-tu essayé avec la propriété (boolean) "Visible" ?
If Form1.Visible then 'la feuille est visivle



Il y a, je crois me rappeler, un inconvénient avec cette méthode : le
fait de faire référence à une propriété (ici visible) d'une feuille non
chargée, a pour effet de la charger en mémoire, en fait l'équivalent de :
Load Form1

qui n'affichera pas la feuille, mais provoquera, outre son chargement,
l'exécution de la procédure Form_Load , ce qui peut avoir des effets
indésirables.

Mais en général, ça marche :-)

Une autre méthode consiste à parcourir la collection 'Forms' :

Private Function IsFormLoaded(fName As String) As Boolean
Dim f As Form

For Each f In Forms
If f.Name = fName Then
IsFormLoaded = True
Exit Function
End If
Next f
IsFormLoaded = False
End Function

avant de tester une de ses propreiéts


--

Cordialement,

Jacques.
Aski
Le #19540471
Bonjour Jacques,

Comment savoir si une fenêtre est déjà affichée ?



As-tu essayé avec la propriété (boolean) "Visible" ?
If Form1.Visible then 'la feuille est visible



Il y a, je crois me rappeler, un inconvénient avec cette méthode : le fait
de faire référence à une propriété (ici visible) d'une feuille non
chargée, a pour effet de la charger en mémoire, en fait l'équivalent de :
Load Form1

qui n'affichera pas la feuille, mais provoquera, outre son chargement,
l'exécution de la procédure Form_Load , ce qui peut avoir des effets
indésirables.

Mais en général, ça marche :-)

Une autre méthode consiste à parcourir la collection 'Forms' :

Private Function IsFormLoaded(fName As String) As Boolean
Dim f As Form

For Each f In Forms
If f.Name = fName Then
IsFormLoaded = True
Exit Function
End If
Next f
IsFormLoaded = False
End Function

avant de tester une de ses propreiéts



Effectivement, cette méthode est plus sure, d'autant plus que la boucle
concerne un nombre d'éléments réduits.
--
Cordialement

Henri
msnews.microsoft.com
Le #19542681
Effectivement, vos idées sont bonnes.... et je vous en remercie.....

Bonne fin de journée.

Michel


"msnews.microsoft.com"
Bonjour à tous,

Suite à une erreur "Feuille déjà affichée; imposible d'afficher
modalement"

Comment savoir si une fenêtre est déjà affichée ?

Avec mes remerciements.
Michel



Pierre Rivet
Le #19736261
lldlddlsslls
dsdsdd

"msnews.microsoft.com"
Effectivement, vos idées sont bonnes.... et je vous en remercie.....

Bonne fin de journée.

Michel


"msnews.microsoft.com" news:
Bonjour à tous,

Suite à une erreur "Feuille déjà affichée; imposible d'afficher
modalement"

Comment savoir si une fenêtre est déjà affichée ?

Avec mes remerciements.
Michel







Publicité
Poster une réponse
Anonyme