OVH Cloud OVH Cloud

Comment savoir si une fenêtre est ouverte ?

6 réponses
Avatar
Daniel Lapointe
Bonjour.

Voilà.

J'utilise un API qui met mon frmMain dans le SystemTray.

Au double clique sur cette icône, on fait frmMain.show.
Au clic droit ou gauche, on affiche un menu, avec quelques liens...

Et puis, lorsque l'utilisateur fait afficher le panel d'option, qui s'ouvre
lui en vbModal, devinez quoi ?

Bah, l'utilisiteur ne peut cliquer sur l'icône de la barre des tâches, car
il recevra une erreur (impossible d'afficher no Modal form lorsqu'une Modal
form est ouverte).

Alors voilà, je veux tout simplement faire une variable du genre :

Si frmoptions n'est pas affichée, alors ...

Et désolé pour le double-message, j'ai appuyé sur CTRL + ENTER au lieu de
ENTER et le message s'est envoyé.

Merci d'avance de vos réponces.
Cordialement
Daniel

6 réponses

Avatar
Bismark Prods
Bon soyons sérieux.

Si je comprends bien, tu ouvre frmMain. Dans lequel tu peux ouvrir une
fenetre modale d'option ? Mais lorsque cette dernière est ouverte, tu dis
qu'on ne peut plus aller cliquez sur l'icone dans la systray ? C'est bien ca
?

De toutes les façons j'ai trouvé un page Web directement sur ce que tu vis
actuellement ... va donc jeter un oeil :

http://progranet.jexiste.fr/vb_systray_2.htm


"Daniel Lapointe" a écrit dans le message de
news:

Bonjour.

Voilà.

J'utilise un API qui met mon frmMain dans le SystemTray.

Au double clique sur cette icône, on fait frmMain.show.
Au clic droit ou gauche, on affiche un menu, avec quelques liens...

Et puis, lorsque l'utilisateur fait afficher le panel d'option, qui


s'ouvre
lui en vbModal, devinez quoi ?

Bah, l'utilisiteur ne peut cliquer sur l'icône de la barre des tâches, car
il recevra une erreur (impossible d'afficher no Modal form lorsqu'une


Modal
form est ouverte).

Alors voilà, je veux tout simplement faire une variable du genre :

Si frmoptions n'est pas affichée, alors ...

Et désolé pour le double-message, j'ai appuyé sur CTRL + ENTER au lieu de
ENTER et le message s'est envoyé.

Merci d'avance de vos réponces.
Cordialement
Daniel





Avatar
Daniel Lapointe
Bonsoir.

J'ai consulté ton lien mais ce n'est pas tout à fait ce que je veux !

J'ai déjà une icône de mon appli dans le tray. Le problème, c'est que j'ai
une page, frmOptions que l'utilisiteur peut ouvrir librement dans le menu de
mon frmMain. Le frmOptions s'ouvrent alors en modal.

Si, pendant que le frmOptions qui est ouvert en modal, l'utilisateur double
clique sur l'icône dans le tray, le frmOptions disparaît.

Mais voilà, je ne veux pas qu'ils disparaîssent. Si j'enlève le Me.Hide,
alors, une erreur me dit qu'on ne peut pas afficher frmMain car frmOptions
est ouvert en modal.

Alors, ce que je voudrais faire, c'est, lors du double-clique sur l'icône du
Tray, vérifier si frmOptions est ouvert. Si il est ouvert, on fait rien,
sinon, on fait Me.Hide et frmMain.show.

Voilà !
Donc je dois détecter la présence ou non de frmOptions.

Merci d'avance.
Daniel

"Bismark Prods" a écrit dans le message de news:

Bon soyons sérieux.

Si je comprends bien, tu ouvre frmMain. Dans lequel tu peux ouvrir une
fenetre modale d'option ? Mais lorsque cette dernière est ouverte, tu dis
qu'on ne peut plus aller cliquez sur l'icone dans la systray ? C'est bien


ca
?

De toutes les façons j'ai trouvé un page Web directement sur ce que tu vis
actuellement ... va donc jeter un oeil :

http://progranet.jexiste.fr/vb_systray_2.htm


"Daniel Lapointe" a écrit dans le message de
news:
>
> Bonjour.
>
> Voilà.
>
> J'utilise un API qui met mon frmMain dans le SystemTray.
>
> Au double clique sur cette icône, on fait frmMain.show.
> Au clic droit ou gauche, on affiche un menu, avec quelques liens...
>
> Et puis, lorsque l'utilisateur fait afficher le panel d'option, qui
s'ouvre
> lui en vbModal, devinez quoi ?
>
> Bah, l'utilisiteur ne peut cliquer sur l'icône de la barre des tâches,


car
> il recevra une erreur (impossible d'afficher no Modal form lorsqu'une
Modal
> form est ouverte).
>
> Alors voilà, je veux tout simplement faire une variable du genre :
>
> Si frmoptions n'est pas affichée, alors ...
>
> Et désolé pour le double-message, j'ai appuyé sur CTRL + ENTER au lieu


de
> ENTER et le message s'est envoyé.
>
> Merci d'avance de vos réponces.
> Cordialement
> Daniel
>
>
>




Avatar
Bismark Prods
Alors dans ce cas de figure tu devrais songer a retirer le modal et a
utiliser les API pour obliger ta fenetre option a etre toujours au premier
plan. C'est une chose assez simple a realiser.


"Daniel Lapointe" a écrit dans le message de
news:
Bonsoir.

J'ai consulté ton lien mais ce n'est pas tout à fait ce que je veux !

J'ai déjà une icône de mon appli dans le tray. Le problème, c'est que j'ai
une page, frmOptions que l'utilisiteur peut ouvrir librement dans le menu


de
mon frmMain. Le frmOptions s'ouvrent alors en modal.

Si, pendant que le frmOptions qui est ouvert en modal, l'utilisateur


double
clique sur l'icône dans le tray, le frmOptions disparaît.

Mais voilà, je ne veux pas qu'ils disparaîssent. Si j'enlève le Me.Hide,
alors, une erreur me dit qu'on ne peut pas afficher frmMain car frmOptions
est ouvert en modal.

Alors, ce que je voudrais faire, c'est, lors du double-clique sur l'icône


du
Tray, vérifier si frmOptions est ouvert. Si il est ouvert, on fait rien,
sinon, on fait Me.Hide et frmMain.show.

Voilà !
Donc je dois détecter la présence ou non de frmOptions.

Merci d'avance.
Daniel

"Bismark Prods" a écrit dans le message de


news:

> Bon soyons sérieux.
>
> Si je comprends bien, tu ouvre frmMain. Dans lequel tu peux ouvrir une
> fenetre modale d'option ? Mais lorsque cette dernière est ouverte, tu


dis
> qu'on ne peut plus aller cliquez sur l'icone dans la systray ? C'est


bien
ca
> ?
>
> De toutes les façons j'ai trouvé un page Web directement sur ce que tu


vis
> actuellement ... va donc jeter un oeil :
>
> http://progranet.jexiste.fr/vb_systray_2.htm
>
>
> "Daniel Lapointe" a écrit dans le message


de
> news:
> >
> > Bonjour.
> >
> > Voilà.
> >
> > J'utilise un API qui met mon frmMain dans le SystemTray.
> >
> > Au double clique sur cette icône, on fait frmMain.show.
> > Au clic droit ou gauche, on affiche un menu, avec quelques liens...
> >
> > Et puis, lorsque l'utilisateur fait afficher le panel d'option, qui
> s'ouvre
> > lui en vbModal, devinez quoi ?
> >
> > Bah, l'utilisiteur ne peut cliquer sur l'icône de la barre des tâches,
car
> > il recevra une erreur (impossible d'afficher no Modal form lorsqu'une
> Modal
> > form est ouverte).
> >
> > Alors voilà, je veux tout simplement faire une variable du genre :
> >
> > Si frmoptions n'est pas affichée, alors ...
> >
> > Et désolé pour le double-message, j'ai appuyé sur CTRL + ENTER au lieu
de
> > ENTER et le message s'est envoyé.
> >
> > Merci d'avance de vos réponces.
> > Cordialement
> > Daniel
> >
> >
> >
>
>




Avatar
EddiGordo
"Daniel Lapointe" a formulé ce samedi :
Bonjour.

Voilà.

J'utilise un API qui met mon frmMain dans le SystemTray.

Au double clique sur cette icône, on fait frmMain.show.
Au clic droit ou gauche, on affiche un menu, avec quelques liens...

Et puis, lorsque l'utilisateur fait afficher le panel d'option, qui s'ouvre
lui en vbModal, devinez quoi ?

Bah, l'utilisiteur ne peut cliquer sur l'icône de la barre des tâches, car
il recevra une erreur (impossible d'afficher no Modal form lorsqu'une Modal
form est ouverte).

Alors voilà, je veux tout simplement faire une variable du genre :

Si frmoptions n'est pas affichée, alors ...

Et désolé pour le double-message, j'ai appuyé sur CTRL + ENTER au lieu de
ENTER et le message s'est envoyé.

Merci d'avance de vos réponces.
Cordialement
Daniel



Bonjour

Tu peux parcourir la collection Forms de ton application
Voici une petite fonction qui peut t'être utile :

Public Function IsLoaded(Byval NomFeuille as String) As Boolean
Dim F as Form
IsLoaded = False
For Each F in Forms
If F.Name = NomFeuille Then
IsLoaded=True
Exit For
End If
Next
End Function

Et ensuite :

If IsLoaded("frmOptions") = True Then
...
Else
...
End If


--
Enjoy !
Avatar
Daniel Lapointe
Merci, c'est ce que je cherchais.
Daniel

"EddiGordo" a écrit dans le message de news:

"Daniel Lapointe" a formulé ce samedi :
> Bonjour.
>
> Voilà.
>
> J'utilise un API qui met mon frmMain dans le SystemTray.
>
> Au double clique sur cette icône, on fait frmMain.show.
> Au clic droit ou gauche, on affiche un menu, avec quelques liens...
>
> Et puis, lorsque l'utilisateur fait afficher le panel d'option, qui


s'ouvre
> lui en vbModal, devinez quoi ?
>
> Bah, l'utilisiteur ne peut cliquer sur l'icône de la barre des tâches,


car
> il recevra une erreur (impossible d'afficher no Modal form lorsqu'une


Modal
> form est ouverte).
>
> Alors voilà, je veux tout simplement faire une variable du genre :
>
> Si frmoptions n'est pas affichée, alors ...
>
> Et désolé pour le double-message, j'ai appuyé sur CTRL + ENTER au lieu


de
> ENTER et le message s'est envoyé.
>
> Merci d'avance de vos réponces.
> Cordialement
> Daniel

Bonjour

Tu peux parcourir la collection Forms de ton application
Voici une petite fonction qui peut t'être utile :

Public Function IsLoaded(Byval NomFeuille as String) As Boolean
Dim F as Form
IsLoaded = False
For Each F in Forms
If F.Name = NomFeuille Then
IsLoaded=True
Exit For
End If
Next
End Function

Et ensuite :

If IsLoaded("frmOptions") = True Then
...
Else
...
End If


--
Enjoy !



Avatar
Daniel Lapointe
Bonjour.

Nan, je ne veux pas empêcher l'utilisateur de regarder ces autres appli. Si
frmOptions devait être toujours au premier plan, eh bien, il ne verrait plus
rien (plus son internet, plus ces autres appli, ...) sauf frmOptions !
Ce n'est donc pas ce qu'il faut.

Mais j'ai finalement ce que je voulais quelqu'un a répondu un peu plus bas.

Daniel
"Bismark Prods" a écrit dans le message de news:
#
Alors dans ce cas de figure tu devrais songer a retirer le modal et a
utiliser les API pour obliger ta fenetre option a etre toujours au premier
plan. C'est une chose assez simple a realiser.


"Daniel Lapointe" a écrit dans le message de
news:
> Bonsoir.
>
> J'ai consulté ton lien mais ce n'est pas tout à fait ce que je veux !
>
> J'ai déjà une icône de mon appli dans le tray. Le problème, c'est que


j'ai
> une page, frmOptions que l'utilisiteur peut ouvrir librement dans le


menu
de
> mon frmMain. Le frmOptions s'ouvrent alors en modal.
>
> Si, pendant que le frmOptions qui est ouvert en modal, l'utilisateur
double
> clique sur l'icône dans le tray, le frmOptions disparaît.
>
> Mais voilà, je ne veux pas qu'ils disparaîssent. Si j'enlève le Me.Hide,
> alors, une erreur me dit qu'on ne peut pas afficher frmMain car


frmOptions
> est ouvert en modal.
>
> Alors, ce que je voudrais faire, c'est, lors du double-clique sur


l'icône
du
> Tray, vérifier si frmOptions est ouvert. Si il est ouvert, on fait rien,
> sinon, on fait Me.Hide et frmMain.show.
>
> Voilà !
> Donc je dois détecter la présence ou non de frmOptions.
>
> Merci d'avance.
> Daniel
>
> "Bismark Prods" a écrit dans le message de
news:
>
> > Bon soyons sérieux.
> >
> > Si je comprends bien, tu ouvre frmMain. Dans lequel tu peux ouvrir une
> > fenetre modale d'option ? Mais lorsque cette dernière est ouverte, tu
dis
> > qu'on ne peut plus aller cliquez sur l'icone dans la systray ? C'est
bien
> ca
> > ?
> >
> > De toutes les façons j'ai trouvé un page Web directement sur ce que tu
vis
> > actuellement ... va donc jeter un oeil :
> >
> > http://progranet.jexiste.fr/vb_systray_2.htm
> >
> >
> > "Daniel Lapointe" a écrit dans le


message
de
> > news:
> > >
> > > Bonjour.
> > >
> > > Voilà.
> > >
> > > J'utilise un API qui met mon frmMain dans le SystemTray.
> > >
> > > Au double clique sur cette icône, on fait frmMain.show.
> > > Au clic droit ou gauche, on affiche un menu, avec quelques liens...
> > >
> > > Et puis, lorsque l'utilisateur fait afficher le panel d'option, qui
> > s'ouvre
> > > lui en vbModal, devinez quoi ?
> > >
> > > Bah, l'utilisiteur ne peut cliquer sur l'icône de la barre des


tâches,
> car
> > > il recevra une erreur (impossible d'afficher no Modal form


lorsqu'une
> > Modal
> > > form est ouverte).
> > >
> > > Alors voilà, je veux tout simplement faire une variable du genre :
> > >
> > > Si frmoptions n'est pas affichée, alors ...
> > >
> > > Et désolé pour le double-message, j'ai appuyé sur CTRL + ENTER au


lieu
> de
> > > ENTER et le message s'est envoyé.
> > >
> > > Merci d'avance de vos réponces.
> > > Cordialement
> > > Daniel
> > >
> > >
> > >
> >
> >
>
>