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 :

Menu dynamique MFC


Sujet :

MFC

  1. #1
    Membre confirm�
    Inscrit en
    D�cembre 2006
    Messages
    166
    D�tails du profil
    Informations personnelles :
    �ge : 45

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 166
    Par d�faut Menu dynamique MFC
    Bon j'ai test� le menu dynamique pour mon appli MFC.
    par la m�thode suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    	CMenu NewMenu;
    	NewMenu.LoadMenu (menu);
    	AfxGetMainWnd()->SetMenu( &NewMenu );
    	AfxGetMainWnd()->DrawMenuBar();
    	NewMenu.Detach();
    Ok �a marche... mais...
    c'est une application MDI et j'ai plus les ic�nes pour minimiser, maximiser ou fermer un des documents ouverts (� droite de ma fen�tre) en faisant �a... ce qui s'av�re contraignant...

    si quelqu'un � une soluce

    A oui.. de plus j'ai un autre souci quand je passe d'un document � un autre.. �a me remet le menu par d�faut...

    Merci

  2. #2
    Membre confirm�
    Inscrit en
    D�cembre 2006
    Messages
    166
    D�tails du profil
    Informations personnelles :
    �ge : 45

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 166
    Par d�faut
    En faite d'apres ce que j'ai compris des tutos.

    la je change le Menu de la MainFrame mais pas celui des Doc. MDI c'est pour ce l� que le menu de base (IDR_MAINFRM) r�apparait..

    en fait dans mon appli j'ai 4 boutons sur une ToolBar qui change le Menu (donc le Menu de la MainFrm) et donc quand j'ai plusieurs document d'ouvert... et que je change le menu �a merde un peu au niveau de l'affichage car j'ai plus les boutons de fermeture, minimisation, maximisation.

    Donc comment faire ??
    Comment modifier proprement le Menu des docs MDI avec un Menu plac� en Resource ?

  3. #3
    Membre confirm�
    Inscrit en
    D�cembre 2006
    Messages
    166
    D�tails du profil
    Informations personnelles :
    �ge : 45

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 166
    Par d�faut
    Bon j'arrive � modifier le menu de mainframe et les menu de chaque Document de mon application MDI.

    par contre quand je modifie le menu alors que j'ai un document ouvert de fa�on maximis� dans mon appli...

    je perd toujours l'icone a gauche du menu et les trois icones de fermeture, minimisation, et cascade (en gros comme quand il n'y a pas de doc ouvert ou si en cascade).

    c'est un bug MFC ou je fais quelque chose qui va pas.... ??

    je fais juste ceci a chaque fois que je clique sur un des bonton de ma Toolbar qui modifie mon Menu
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // pour le doc MDI courant
    pDoc->m_hMenu= ::LoadMenu (AfxGetResourceHandle(), MAKEINTRESOURCE(IDR_MENU2));
    // pour la MainFrm
    CMenu NewMenu.LoadMenu (IDR_MENU2);
    AfxGetMainWnd()->SetMenu( &NewMenu );
    AfxGetMainWnd()->DrawMenuBar();
    NewMenu.Detach();

  4. #4
    Membre confirm�
    Inscrit en
    D�cembre 2006
    Messages
    166
    D�tails du profil
    Informations personnelles :
    �ge : 45

    Informations forums :
    Inscription : D�cembre 2006
    Messages : 166
    Par d�faut
    J'ai r�solu mon probl�me...
    merci a ceux qui m'ont transmis deux trois pistes.

    j'ai surcharg� la fonction ChangeMenu de la classe CDoc...

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    void CAppDoc::ChangeMenu(int rc)
    {
    	int menu;
    	switch (rc)
    	{
    		case 1 :
    			menu = IDR_DRAW;
    			break;
    		case 2 :
    			menu = IDR_DRAW3D;
    			break;
    		.......
    	}
    	mode_light_doc = rc;
     
    	CMenu *pMenu = CMenu::FromHandle(m_hMenu);
     
    	pMenu->DestroyMenu();
     
    	m_hMenu = ::LoadMenu(
    	   AfxGetResourceHandle(), MAKEINTRESOURCE(menu));
     
    	((CFrameWnd*)AfxGetMainWnd())->OnUpdateFrameMenu(NULL);
    	AfxGetMainWnd()->DrawMenuBar();
    }

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

Discussions similaires

  1. [MFC] Menu dynamique
    Par barthelv dans le forum MFC
    R�ponses: 7
    Dernier message: 31/05/2005, 10h44
  2. [Free Pascal] Int�grer des valeurs dans un menu dynamique
    Par boullery dans le forum Free Pascal
    R�ponses: 16
    Dernier message: 30/03/2005, 17h04
  3. Cr�er un sous-menu dynamiquement
    Par PurL dans le forum C++Builder
    R�ponses: 4
    Dernier message: 09/09/2004, 10h31
  4. [JSP]menu dynamique en jsp
    Par laouedjahmed dans le forum Servlets/JSP
    R�ponses: 3
    Dernier message: 22/03/2004, 10h50
  5. Menu dynamique sous Flash MX
    Par dens63 dans le forum Flash
    R�ponses: 7
    Dernier message: 29/10/2003, 15h46

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