IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Changer un caption dans un menu


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut Changer un caption dans un menu
    Bonjour,

    J'ai la tete dans la faq, vers ici

    mais je vois pas comment changer simplement le caption d'un element du menu (sans changer ce qu'il fait)

    j'ai tent� : GetDlgItem(ID_MENU_LANGUE)->SetWindowText('English');
    l'erreur !!

    je test un peu tout mais jtrouve pas ....

  2. #2
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Cherche � SetMenuItemInfo()...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    salut,
    il faut que tu recuperes un pointeur sur ton menu .
    si c'est une Dialogue GetMenu() doit suffire.
    ensuite que tu utilise la fonction
    CMenu::ModifyMenu
    bien lire la doc MSDN avant.

  4. #4
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut
    j'ai du mal la !

    comment ca marche le GetMenu?

    GetDlgItem(ID_MENU_LANGUE)->GetMenu();

    ca c'est bon ?

  5. #5
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut
    jcomprend pas la

    j'obtiens l'erreur :
    c:\Mes documents\Visual Studio Projects\Test\TestDlg.cpp(179) : error C2039: 'GetMenuInfo' : is not a member of 'CMenu'
    avec ce code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    	CMenu* pMenu = GetDlgItem(ID_MENU_LANGUE)->GetMenu();
    	MENUITEMINFO* pMenuItemInfo;
     
    	pMenu->GetMenuInfo(pMenuItemInfo);
    et pourtant quand je fais F1 sur CMenu, dans l'aide [MFC Library Reference - CMenu Members] elle apparait bien

    que se passe t'il alors ?

  6. #6
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    le menu que tu essayes de changer il est situ� ou ?
    quelle est la classe fenetre utilis�e ? CFormView,CDialog ?
    si c'est une Dialogue GetMenu() tout court suffit ...


  7. #7
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut
    Ben c'est un projet Dialog,

    j'ai rajout� le menu comme tu me l'as indiqu� hier (via la faq)

    mais jtrouve pas son nom pour faire un getmenu

  8. #8
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    tu n'as pas besoin du nom puisqu'il est charg� sur la dialogue ...
    juste GetMenu() !

  9. #9
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut
    ok pour ca,

    donc maintenant, j'ai ce code :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    	CMenu* pMenu = GetMenu(); 
    	MENUITEMINFO* pMenuItemInfo;
     
    	pMenu->GetMenuInfo(pMenuItemInfo);
    mais j'ai toujours la m�me erreur :

    c:\Mes documents\Visual Studio Projects\Test\TestDlg.cpp(179) : error C2039: 'GetMenuInfo' : is not a member of 'CMenu'

  10. #10
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    Citation Envoy� par farscape
    salut,
    il faut que tu recuperes un pointeur sur ton menu .
    si c'est une Dialogue GetMenu() doit suffire.
    ensuite que tu utilise la fonction
    CMenu::ModifyMenu
    bien lire la doc MSDN avant.
    j'ai jamais dis �a.

  11. #11
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut
    ok, jsuis en train de lire ca ....

    mais pourquoi a ton avis GetMenuInfo genere une erreur disant qu'il ne fait pas parti de CMenu alors qu'il apparait dans sa doc ?

  12. #12
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    BOOL GetMenuInfo(
      HMENU hmenu,            // handle to menu
      LPCMENUINFO lpcmi       // menu information
    );
    est une api32 ,elle n'est pas une fonction membre de CMenu ,relis bien la doc ...


  13. #13
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut
    jpiges pas alors !

    en faisant F1 sur CMenu puis dans la section Menu Item Operations : GetMenuInfo

    MFC Library Reference
    CMenu::GetMenuInfo

    Retrieves information for a menu.

    BOOL GetMenuInfo(
    LPMENUINFO lpcmi
    ) const;
    Parameter
    lpcmi

    A pointer to a MENUINFO structure containing information for the menu.
    Return Value
    If the function succeeds, the return value is nonzero; otherwise, the return value is zero.

    Remarks
    Call this function to retrieve information about the menu.

    See Also
    CMenu Overview | Class Members | Hierarchy Chart | SetMenuInfo

  14. #14
    R�dacteur
    Avatar de farscape
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Par d�faut
    quel compilateur utilises tu ? et quelle aide ?
    suivant les versions vc6 .net et .net 2005 il y a des evolutions .
    si tu regarde l'aide 2005 ok GetMenuInfo fait partie de la classe CMenu.
    avec VC6 non.
    si tu veux utiliser cette fonction :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    CMenu* pMenu = GetMenu();
       MENUITEMINFO* pMenuItemInfo;
     
     GetMenuInfo(pMenu->GetSafeHmenu( ),pMenuItemInfo);

  15. #15
    Membre �clair�

    Profil pro
    Inscrit en
    D�cembre 2003
    Messages
    650
    D�tails du profil
    Informations personnelles :
    �ge : 45
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2003
    Messages : 650
    Par d�faut
    C'est l'allu ca !

    j'ai donc VC6.net et la doc de 2005 ????


    pour info, j'ai fais ca et ca marche :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
     CMenu *pMenu = GetMenu()->GetSubMenu(0);
     
     pMenu->ModifyMenu(1, MF_BYPOSITION, 0, _T("&Modif"));
    merci bien

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Changer image au survol dans un menu
    Par lelectronique.com dans le forum Mise en page CSS
    R�ponses: 2
    Dernier message: 29/06/2012, 16h05
  2. changer une image dans un menu
    Par lelectronique.com dans le forum jQuery
    R�ponses: 4
    Dernier message: 03/01/2011, 18h50
  3. changer image d'un li quand clic dans un menu
    Par niro75 dans le forum jQuery
    R�ponses: 2
    Dernier message: 03/05/2010, 13h34
  4. R�ponses: 2
    Dernier message: 22/04/2008, 12h04
  5. Changer la couleur sur clique d'un onglet dans un menu
    Par nadiaflamingenierie dans le forum G�n�ral JavaScript
    R�ponses: 44
    Dernier message: 18/04/2008, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo