Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Pb avec menu d'un systray [ Windows / MFC ] (myckie)

jeudi 15 novembre 2007 à 20:37:34 | Pb avec menu d'un systray

myckie

bonjour j'ai coder un bouton sur mon programme afin qu'il mette une icone dans la barre de tray ( a coté de l'heure) a cette icone j'y ai ajouter un menu déroulant le problème est que lorsque je clique sur un des items du menu je n'execute pas le code correspondant (en mode debug aucun passage dans l'evenement command correspondant a l'item ) voila le code que j'ai mi :

hWnd=::FindWindow(NULL,

"Test");
TrayIcon.cbSize =
sizeof(NOTIFYICONDATA);
TrayIcon.hWnd = hWnd;
TrayIcon.uID = id;
TrayIcon.uFlags = NIF_MESSAGE| NIF_ICON | NIF_TIP;
TrayIcon.uCallbackMessage = WM_TRAY_MESSAGE;
TrayIcon.hIcon =LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE (IDR_MAINFRAME));
Shell_NotifyIcon(NIM_ADD, &TrayIcon);
// ShowWindow(SW_HIDE);   ce bout de code fonctionne bien vu que l'icone se met bien dans la barre de tray, puis j'ai une fonction qui intercepte le message venant de l'icone dans le systay :

LONG CLecteurDlg::OnTrayNotify(WPARAM wParam, LPARAM lParam)

{

POINT pt;

switch (lParam)

   case WM_LBUTTONDOWN:
   AfxMessageBox(
"Test OK");
   break;

   case WM_RBUTTONDOWN:
   case WM_CONTEXTMENU:
      GetCursorPos(&pt);
      CMenu myMenu;
      myMenu.LoadMenu(IDR_MENU2);
      ::SetForegroundWindow(hWnd);
      myMenu.GetSubMenu(0)->TrackPopupMenu(TPM_RETURNCMD |TPM_RIGHTBUTTON,pt.x, pt.y,
this);
      //DestroyMenu(myMenu);
      break;

   }

      return 1;

}

sa sa fonctionne egalement car le menu s'affiche si je clique droit sur l'icone, je précise aussi que j'ai déjas un menu de créer pour ma fenetre d'application et un autre pour l'icone tray c'est pour cela que j'ai mi (IDR_MENU2)

donc voila j'ai créer la fonction correspondant au item du menu de l'icone  tray mais je n'y accede pas

donc si quelqu'un peut m'aider sa serai gentil

merci d'avance


vendredi 16 novembre 2007 à 15:22:18 | Re : Pb avec menu d'un systray

myckie

Réponse acceptée !
Bon j'ai mi le temp mais j'ai trouver en fait il fallait que je récupère ID de l'item clické et que je face des switch en conséquence voilà un exemple de code pour ceux qui comme moi on eu se problème :
(se code est a mettre dans la gestion des message venant de l'icone dans le systray)

case

WM_CONTEXTMENU:

GetCursorPos(&pt);

CMenu myMenu;

myMenu.LoadMenu(IDR_MENU2);

::SetForegroundWindow(hWnd);

selection=myMenu.GetSubMenu(0)->TrackPopupMenu(TPM_RETURNCMD |TPM_RIGHTBUTTON,

pt.x, pt.y,

this); // Sélection est de type DWORD a déclarer en début d'instruction

switch (selection)

{

case ID_MENU_AGRANDISSEMENT32783: //Chaque ID correspondent aux ID définit lors de la création du menu

{

OnMenuAgrandissement32783();

break;

}

case ID_MENU_OUVRIR2:

{

OnFichierOuvrir();

break;

}

case ID_MENU_PARCOURIR2:

{

OnFichierParcourir();

break;

}

voilà en espérant que sa sera utile aux personne qui on le meme probleme que j'ai eu




Cette discussion est classé dans : menu, icone, hwnd, tray, trayicon


Répondre à ce message

Sujets en rapport avec ce message

Icone dans un menu [ par jul71 ] Bonjour,Je voudrais savoir comment insérer un icone dans un menu sous visual Insertion Icone dans un menu [ par jul71 ] Bonjour,Je voudrais savoir comment insérer un icone dans un menu (avec les mFC)Merci d'avance Icone dans menu [ par jul71 ] Bonjour,Je voudrais savoir comment insérer des icones dans un menu.Merci d'avance Menu Contextuel et icone [ par loranfou ] Est ce que quelqu'un sait ajouter une icone, (ou une image bmp) à un Item d'un menu contextuel qui pocède déjà un texte.A+Loran integrer un menu!!! [ par melkiorlenecrarque ] u!bjr, je débute et je me pose 2 ou 3 petite kestions fondamentale:a partir de ce prog( ki affiche une fenetre vide!!!):****************************** Utilisation des menus. [ par JackosKing ] Voilà, je voudrais utiliser un menu avec icone normal, jusque là pas de probleme, seulement ke voudrais que le menu apparaisse avec de grosse icone (c Problème menu [ par LordBob ] Bonjour a tous,voila j'ai ecrit le tout début d'un programme... celui ci pour l'instant, ne fait que se ranger dans la systray... j'ai commencé a fair Problème icone barre tâches [ par goutbouyo ] Salut,Mon programme met un icône en barre des taches mais le problème c'est qu'il ne met pas l'icône que je lui demande !Il met un icone (clasique je Tray Icon, comment ca fonctionne ?? [ par zadounet ] Quelqu'un sait par hasard comment programmer en Vc++ 6.0 pour faire une icone dans la bar (Tray Mode) et pour faire changer cette icone. Un peu comme Icone dans le system tray [ par Cpphewie ] Bonjour, je cherche désespérement comment faire une icone dans le systray ( en c sous gtk+2 de preference ). J'ai lu dans la reference gtk qu'il y av


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Appels d'offres

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.