-
Création d'un menu
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
-
Quelle version (et édition) de Visual Studio?
-
-
Tu n'as pas répondu complètement à la question.
-
Je ne connais pas l'édition, comment le savoir?
sinon voici le code que moi j'ai écris en suivant un exemple de Microsoft, mai il fait rien peut etre que j'écris pas au bon endroit?
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);
}
-
(tant pis pour l'édition, si tu as MFC tu as probablement les éditeurs de toute façon)
Alors, le OnPaint() est tout sauf le bon endroit pour ce genre de chose.
Sous Windows, il y a deux sortes de menus:
- Il y a le menu associé à une fenêtre (dans sa barre de menus). Sous MFC, celui-là se fait principalement grâce aux éditeurs de ressources: éditeur de menus, éditeur de formulaire, etc.
- Et il y a les menus contextuels, comme celui du bouton droit. Ceux-ci peuvent être créés, affichés (par la fonction TrackPopupMenu() ou l'équivalent MFC) et détruits à-la-volée dans le OnRButtonDown().
-
Je me doutais ne pas être au bon endroit, je vais donc revoir tout ça. Merci
-
Avez-vous utilisé le wizard de Visual C++ pour créer votre application (Dialog ou Frame) ou bien êtes-vous partie d'un projet vierge ?
Si vous avez utilisez une application de type MDI ou SDI, vous devez avoir un menu par défaut. Pour le modifier ou créer une nouvelle entrée de menu, affichez les ressources de votre projet pour voir les différents menus.
S'il s'agit d'une application type boîte de dialogue vous devez ajouter un menu dans les ressources de votre projet puis indiquer l'identifiant de ce menu dans les propriétés de votre boîte de dialogue.
-
1 pièce(s) jointe(s)
Pour la création de Menus: elle peut se faire de manière graphique dans les ressources du projet.
Pièce jointe 250303