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

  FORUM HardWare.fr
  Programmation
  C

  Handle sous-menu erreur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Handle sous-menu erreur

n°659063
cricri_
Posté le 29-02-2004 à 10:23:06  profilanswer
 

J'ai un souci avec cette procédure, ça fonctionnait sous 98SE à priori, et maintenant que je suis sous XP ça ne fonctionne plus correctement dans le sens où j'ai une erreur 87 la première fois que je passe dedans, par la suite tout se passe bien.
L'erreur 87 indique "invalide paramètre" lorsque je cherche à récupérer le handle du sous-menu.

Code :
  1. /* ------------------------------------------------------------------------- */
  2. HMENU IPluginManager::GetPluginMenu( bool bContext)
  3. /* ------------------------------------------------------------------------- */
  4. {
  5. HMENU   hMenu = GetPlugMenu( bContext);
  6.     // Modify menu on the fly, memorisation of this handle for
  7.     // modification by the synchro procedure for standard menu.
  8.     DoModifyMenu( hMenu);
  9.    
  10.     if ( !bContext)
  11.         m_hMenuStd = hMenu;
  12.     return( hMenu);
  13. }
  14. /* ------------------------------------------------------------------------- */
  15. void IPluginManager::DoModifyMenu( HMENU hMenu)
  16. /* ------------------------------------------------------------------------- */
  17. {
  18.     static MENUITEMINFO  sMenuItemInfo;
  19. HMENU     hSubMenu = NULL;
  20.     DWORD     dwErr = 0;
  21.     if ( hMenu == NULL || m_nRankOrder == 0)
  22.         return;
  23.     sMenuItemInfo.cbSize = sizeof( MENUITEMINFO);
  24.     sMenuItemInfo.fMask  = MIIM_SUBMENU;
  25. // get sub-menu     
  26.     if (!GetMenuItemInfo( hMenu, 0, TRUE, &sMenuItemInfo))
  27.  dwErr = GetLastError();
  28.     hSubMenu = sMenuItemInfo.hSubMenu;
  29. // set ID and text according to rank order
  30.     sprintf( m_szRankMenu, "&Décodage On/Off\t%s%d",
  31.              m_szBaseVirtKey, m_nRankOrder);
  32.     sMenuItemInfo.dwTypeData = m_szRankMenu;
  33.     sMenuItemInfo.wID    = m_nID_PLUGIN_BASE + m_nRankOrder;
  34.    
  35.     if ( m_eOS == 95) {
  36.         sMenuItemInfo.fMask  = MIIM_TYPE | MIIM_ID; // | MIIM_STRING;
  37.         sMenuItemInfo.fType  = MFT_STRING;
  38.     } else {
  39.         sMenuItemInfo.fMask  = MIIM_ID | MIIM_STRING;
  40.     }
  41. SetMenuItemInfo( hSubMenu, 0, TRUE, &sMenuItemInfo);
  42.     // set status
  43.     SetStatusMenu( sMenuItemInfo.hSubMenu, sMenuItemInfo.wID,
  44.                    IsRunning() ? MFS_CHECKED : MFS_UNCHECKED);
  45. }


A priori le handle du menu principal est valide.
Si qqun a une idée ...
Merci.

mood
Publicité
Posté le 29-02-2004 à 10:23:06  profilanswer
 

n°659100
cricri_
Posté le 29-02-2004 à 11:15:48  profilanswer
 

Bon, j'ai trouvé ... le handle du menu n'est plus valide lorsque je l'utilise ...L'application au dessus l'ayant detruit ... ;-((


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

  Handle sous-menu erreur

 

Sujets relatifs
[C++ Erreur] ComCtrls.hpp(2638): E2015 Ambiguïté entre 'Windows' et...Probleme de menu
[vb]erreur method or data member not found[reglé]Problème pour compiler (erreur)
[XML/FLASH] menu flash avec fichier xmlProbleme d'interpretation d'un message d'Erreur de g++
SQL/ACCESS:erreur de requêtemessage erreur Fatal error: Failed opening required ...
erreur 404[python] Mysql et python = Erreur :(
Plus de sujets relatifs à : Handle sous-menu erreur


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