Une form comme la barre Office

Résolu
TigerFab Messages postés 115 Date d'inscription samedi 15 février 2003 Statut Membre Dernière intervention 18 mai 2008 - 12 déc. 2004 à 19:52
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 - 13 déc. 2004 à 21:05
Bonjour,

Je suis en train de faire une sorte de barre Office.

Quand on approche la souris de la barre Office, la barre apparaît.
On quitte, la barre sort de l'écran.

J'aimerai faire le même effet.
J'utilise les évènements Enter et Leave du formulaire servant de barre.

L'ennui c'est que si on met un composant (des boutons pour la barre par ex) lorsque la souris se déplace dessus, ca provoque évidemment l'évènement Form_Leave.

La form disparait donc une fois qu'on survole tout composant de cette barre.

Quelle serait l'astuce pour que l'évènement Form_Leave ne soit enclenché que lorsqu'on quitte réellement la barre (la form donc) et pas quand on survole les composants de cette form (donnant lieu à une apparition/disparition intempestive de la form) ?

Merci de votre aide

TIGER

7 réponses

cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 déc. 2004 à 06:55
C'est pour cette raison que je te conseille de tester la position de la souris à l'écran avant de masquer la fenêtre : utilise la fonction de l'API Windows GetCursorPos.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
3
TigerFab Messages postés 115 Date d'inscription samedi 15 février 2003 Statut Membre Dernière intervention 18 mai 2008
12 déc. 2004 à 19:53
Ah oui, c'est en .Net que je programme.

TIGER
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
12 déc. 2004 à 20:03
Tu peux toujours tester la position de la souris dans ton Form Leave : si la souris est en dehors du rectangle de la fenêtre, alors ne rien faire, sinon, ne pas la masquer.
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
TigerFab Messages postés 115 Date d'inscription samedi 15 février 2003 Statut Membre Dernière intervention 18 mai 2008
12 déc. 2004 à 23:15
En fait si elle sort du rectangle, la barre "se replie" (évenement Form_Leave) donc c'est ok, c'est ce que je veux.

Mais si la souris passe au dessus d'un bouton de cette form, j'ai constaté que 2 évènements s'enclenchent : Button_Enter mais aussi le fameux Form_Leave.

J'ai essayé avec qcq booléens pour dire de ne pas exécuter Form_Leave dans ce cas là, mais ca marche pas, car c'est d'abord cet évènement qui est enclenché avant Button_Enter. Donc on sait rien faire pour empêcher l'évènement.

Je ne sais donc pas si j'utilise la bonne méthode ou s'il y a un truc plus simple pour ne pas enclencher l'évènement quand la souris reste dans le formulaire et passe au dessus de composants de ce formulaire (donc pour .NET quitte aussi le formulaire d'une certaine manière).

TIGER
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TigerFab Messages postés 115 Date d'inscription samedi 15 février 2003 Statut Membre Dernière intervention 18 mai 2008
13 déc. 2004 à 19:15
ah juste j'avais pas compris au départ.

En effet, ca me parait une belle alternative.

Je pense que je vais pouvoir m'en sortir, je n'avais pas pensé à ca.

Merci DarkSidious !

TIGER
0
TigerFab Messages postés 115 Date d'inscription samedi 15 février 2003 Statut Membre Dernière intervention 18 mai 2008
13 déc. 2004 à 21:00
Super j'ai ce que je veux ! (comprend tjs pas cmt j'y ai pas pensé :-)

En .NET, encore plus simple : Me.Cursor.Position.X & Me.Cursor.Position.Y

Pas besoin d'API.

Encore merci

TIGER
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 déc. 2004 à 21:05
Heureux d'avoir pu te rendre service.

Ca m'étonne même que VB6 n'est pas de fonctions directement pour récupèrer la position de la souris, c'est tout de même bien plus pratique ! ;)
_______________________________________

DarK Sidious

[Responsable API/VB du site www.ProgOtoP.com]
Téléchargez ProgOtoP API Viewer
0
Rejoignez-nous