Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1874 connectés 

  FORUM HardWare.fr
  Programmation
  C

  valeure d'1 évenement windows

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

valeure d'1 évenement windows

n°604457
SoWhatIn22
Posté le 07-01-2004 à 09:11:38  profilanswer
 

bonjour,
 
j'ai un problème existentiel. j'ai dans les mains une petite application windows, dont je souhaite modifier le comportement vis à vis de la perte de focus.
Je dois donc faire des traitements sur réception d'évènements. Le problème, c'est que je ne connais pas le nom de ces évènements. Alors du coup, je trace tous les évènements non traités que je reçois, et je me dis que c'est un de ceux-ci.
Mon problème, c'est qu'à partir de la valeur de cet évènement, j'aimerais retrouver le nom de la constante de l'API windows qui est associée.
Pour certains évènemements, c'est ok en regardant le fichier winuser.h. J'y retrouve les WM_COMMAND, et plein d'autres. Mais certains évènements que je reçois ne sont pas dedans.
Genre (en décimal): 2360910, 2426446, et d'autres.
 
Comment faire pour retouver de quoi il s'agit?
merci de votre aide. je me noie dans ce monde des applications windows...

mood
Publicité
Posté le 07-01-2004 à 09:11:38  profilanswer
 

n°604484
chrisbk
-
Posté le 07-01-2004 à 09:51:03  profilanswer
 

heuh ??
pis la msdn alors ?
je comprends pas ta demarche la

n°604563
SoWhatIn22
Posté le 07-01-2004 à 11:23:23  profilanswer
 

chrisbk a écrit :

heuh ??
je comprends pas ta demarche la


 
moi c'est pire, je comprends pas les évènemenst que je reçois. Et la MSDN, c'est bien, mais encore faut-il savoir où chercher.
J'ai une icone en systray, qui affiche un menu. Une fois le menu affiché (click droit sur l'icône), je voudrais savoir si l'utilisateur sélectionne une autre fenêtre afin de faire disparaitre ce menu. Sans quoi il restera toujours visible jusqu'à ce que l'utilisateur 'clique' sur un item.
Alors franchement, je suis pas très avancé avec ça pour chercher dans la MSDN... j'ai cherché des choses sur le focus, mais rien de très concluant.
 
la MSDN, c'est comme les pages de man: c'est bien quand on a une idée de ce que l'on cherche...

n°604565
chrisbk
-
Posté le 07-01-2004 à 11:24:26  profilanswer
 

tu veux pas faire un popup menu tout con ? [:joce]

n°604580
SoWhatIn22
Posté le 07-01-2004 à 11:29:57  profilanswer
 

c'est ce qui est fait. désolé de cette imprécision.
Le fait est que ce popup-menu, il ne disparait pas tant qu'on ne clique pas sur un des items. Je voudrais modifier ce comportement.

n°604583
chrisbk
-
Posté le 07-01-2004 à 11:30:55  profilanswer
 

??  
Heuh normalement ca se fait tout seul... T'as bien utilisé les TrackPopupMenu et autre truc du genre ???

n°604590
SoWhatIn22
Posté le 07-01-2004 à 11:35:45  profilanswer
 

je fais qqchose qui ressemble à ça:

Code :
  1. void displaymenu( HWND hwnd )
  2. {
  3. HMENU menu;
  4. POINT pt;
  5. menu = ::CreatePopupMenu();
  6. if(menu==NULL)
  7.  return;
  8. ::AppendMenu(menu,0,100,"change le status" );
  9. ::AppendMenu(menu,0,101,"à propos..." );
  10. ::AppendMenu(menu,0,100,"quitte" );
  11. ::GetCursorPos(&pt);
  12. ::TrackPopupMenu(menu,0,pt.x,pt.y,0,hwnd,NULL);
  13. ::DestroyMenu(menu);
  14. }

n°604597
chrisbk
-
Posté le 07-01-2004 à 11:38:35  profilanswer
 

Alors la je suis meditatif, g jamais eu aucun soucis de ce genre !

n°604621
SoWhatIn22
Posté le 07-01-2004 à 11:51:59  profilanswer
 

alors on dira que je ne suis pas en veine aujourd'hui :-/

n°604647
Kristoph
Posté le 07-01-2004 à 12:05:50  profilanswer
 

chrisbk a écrit :

Alors la je suis meditatif, g jamais eu aucun soucis de ce genre !


 
Moi j'ai plein d'applications ( même des applis Microsoft ) qui oublient de faire disparaitre le menu popup quand je clique sur une des icones de la systray donc c'est une problematique courante :D

mood
Publicité
Posté le 07-01-2004 à 12:05:50  profilanswer
 

n°604697
SoWhatIn22
Posté le 07-01-2004 à 13:20:30  profilanswer
 

pb résolu, même si je ne comprends pas bien la subtilité.

Code :
  1. void displaymenu( HWND hwnd )
  2. {
  3. HMENU menu;
  4. POINT pt;
  5. ::SetForegroundWindow(hwnd);
  6. menu = ::CreatePopupMenu();
  7. if(menu==NULL)
  8.  return;
  9. ::AppendMenu(menu,0,100,"change le status" );
  10. ::AppendMenu(menu,0,101,"à propos..." );
  11. ::AppendMenu(menu,0,100,"quitte" );
  12. ::GetCursorPos(&pt);
  13. ::TrackPopupMenu(menu,0,pt.x,pt.y,0,hwnd,NULL);
  14. ::DestroyMenu(menu);
  15. }


 
edit: bon, la balise "g" ne fonctionne pas. Dans le code précédent, j'ai ajouté la méthode ::SetForegroundWindow(hwnd)


Message édité par SoWhatIn22 le 07-01-2004 à 13:21:56
n°604701
chrisbk
-
Posté le 07-01-2004 à 13:22:50  profilanswer
 

Ah ben ca je note, ca peut etre utile :o


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  valeure d'1 évenement windows

 

Sujets relatifs
Attendre un évènement en base de données dans une servletPerdu sous Windows :)
[PHP] php_accelerator for windowsBatch windows
[C#] Inserer un controle HTML dans une WINDOWS FORMPortage de Unix à Windows en langage C...
Comment recréer les grant tables MySQL Windows ?[PGSql-newbies] PostgreSql sur windows ?
Modifier la priorite de Gestionnaire d'evenement en JavaScript[Console windows] Affichage des caractères spéciaux (accents,...)
Plus de sujets relatifs à : valeure d'1 évenement windows


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR