Message de rapport:
 

Re: Intercepter les clics des menus

Sujet: Re: Intercepter les clics des menus
par lmame sur 27/9/2005 12:21:08

Peut être une piste, mais je ne sais pas si elle est intéressante, en faisant dans une fenêtre (fenêtre1):
Evénement("getevent", "fenêtre1", WM_MENUSELECT)


Avec:

PROCEDURE getevent(txtMessage, wParam, lParam)
Trace(_EVE.nom+" "+txtMessage+" "+wParam+" "+lParam+".")


on capte ainsi le numéro de l'option du menu (l'ID unique) survolée (en fait mise en surbrillance) au clavier ou en utilisant une souris.
En fait le wParam renvoie l'id de l'option du menu sur lequel on est actuellement (normalement c'est le poids fort dewParam qui est censé le renvoyer) si le lParam = 0, ce qui est fortement bizarre car il est censé renvoyer le handle du menu (selon M$)...

Le hic c'est que j'ai l'impression que Windev ne respecte absolument pas les menus Windows normaux car il est impossible de capter les clics, les WM_COMMAND, les WM_MENUCOMMAND que l'on devrait pouvoir trapper et par conséquent je n'ai pas trouvé de moyen pour savoir quelle option avait été choisie vu qu'apparemment les seuls event que l'on puisse trapper sont les draw (par exemple)...

En faisant:
Evénement("getevent", "fenêtre1", 0)

J'ai bien tous les events de la fenêtre, mais rien à part les draw et consors (13, 15, 20, 133) lorsqu'on est dans le menu principal...
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2