none
Création d'un menu sur MFC RRS feed

  • Question

  • Bonjour, je suis débutante en programmation graphique et je dois écrire un programme MFC qui affiche "Hello world" en Français et en Anglais et le choix doit se faire par un menu. J'ai déjà créer la fenêtre et aussi écris "Hello world" en Français je suis bloquée sur la création du menu. Merci d'avance pour votre aide
    lundi 13 février 2017 20:42

Réponses

Toutes les réponses

  • Tu as regardé dans la partie Menus MFC dans MSDN ?

    mardi 14 février 2017 10:11
  • Oui j'ai regardé,  il y a les explications sur les fonctions à utiliser mais je trouves pas d'exemple, et je rassemble les bout de code mais ça me donne rien. 

     void  MyWindow::OnPaint()
    {
        CRect rect;
        GetClientRect(rect);
        CPaintDC dc(this);
        dc.SetTextAlign(TA_BASELINE | TA_CENTER);
        dc.SetTextColor(::GetSysColor(COLOR_WINDOWTEXT));
        dc.SetBkMode(TRANSPARENT);
        dc.TextOut((rect.right / 2), (rect.bottom / 2),_T("Hello World"),11);
        // Exemple de Microsoft
        CMenu m_NewMenu, m_FileMenu;

        VERIFY(m_NewMenu.CreateMenu());
        VERIFY(m_FileMenu.CreatePopupMenu());
        m_FileMenu.AppendMenu(MF_STRING, ID_APP_EXIT, _T("Français", "Anglais"));
        m_NewMenu.AppendMenu(MF_POPUP, (UINT_PTR)m_FileMenu.m_hMenu, _T("&File"));
        SetMenu(NULL);
        CMenu* old_menu = CMenu::FromHandle(m_hMenuDefault);
        old_menu->DestroyMenu();


        SetMenu(&m_NewMenu);

    }

    mardi 14 février 2017 12:30
  • Il ne faut pas créer de menu dans OnPaint()

    On peut juste le créer par l'éditeur de ressources comme indiqué : Creating a Menu

    Il y a des tas d'exemples sur Youtube

    Entre autres : menu creation using mfc


    Ou des tutoriaux, genre : MFC Tutorial Part 4 – Creating Menus in MFC
    mardi 14 février 2017 13:26
  • Je te remercie, je vais aller jeter un coup d’œil
    mardi 14 février 2017 14:07