Bonjour à tous.
Je souhaiterais savoir s'il est possible de déplacer un sous menu avec le code associé à celui ci.
Si oui comment le faire?
Merci d'avance.
Bonjour à tous.
Je souhaiterais savoir s'il est possible de déplacer un sous menu avec le code associé à celui ci.
Si oui comment le faire?
Merci d'avance.
Ok mais en "runtime" ou en "design" ??Envoyé par annedjomo
Merci de préciser
Je ne suis pas certain qu'on puisse déplacer une entrée menu car les menus sont réalisés en "design" c.a.d. en phase de conception non en "runtime".
On peut rendre inactif ou actif un menu le griser mais le changer de place je ne crois pas
Les MFC occultent la gestion des menus
en win32 il faut d'abord le déclarer dans un fichier ressource.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 MENUDEMO MENU DISCARDABLE BEGIN POPUP "&File" BEGIN MENUITEM "&New", IDM_FILE_NEW MENUITEM "&Open", IDM_FILE_OPEN MENUITEM "&Save", IDM_FILE_SAVE MENUITEM "Save &As...", IDM_FILE_SAVE_AS MENUITEM SEPARATOR MENUITEM "E&xit", IDM_APP_EXIT END END
donc pour déplacer des entrées menus en "runtime" c.a.d. en exécution , il faut remodifier les ressources de l'exe; seul WIN NT et WIN XP Pro peuvent le faire
Quoiqu'on fasse le code associé à l'entrée menu sera toujours identique.
en win32 les menus réagissent avec des messages comme par exemple
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 LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam) { HMENU hMenu ; switch (message) { case WM_COMMAND: hMenu = GetMenu (hwnd) ; switch (LOWORD (wParam)) { case IDM_FILE_NEW: case IDM_FILE_OPEN: case IDM_FILE_SAVE: /// etc.... }
Partager