Chciałbym dodać pozycję menu do mojego menu głównego, a następnie zapełnić ją elementami w czasie wykonywania. Jak to zrobić? A poza dodawaniem przedmiotów, jak miałbym dla nich wpis mapy wiadomości, ponieważ nie znam identyfikatora?Dynamiczne menu przy użyciu mfc
9
A
Odpowiedz
15
Można utworzyć CMenu
obiekt dynamicznie tak:
CMenu *menu = new CMenu;
menu->CreatePopupMenu();
// Add items to the menu
menu->AppendMenu(MF_STRING, menuItemID, "Text");
...
Następnie dodać podmenu do menu głównego:
wnd->GetMenu()->AppendMenu(MF_POPUP, (UINT_PTR)menu->m_hMenu, "Menu Name");
jak dla mapie wiadomości, zakładając całą swoją pozycję menu Identyfikatory mieszczą się w pewnym zakresie, możesz użyć ON_COMMAND_RANGE
, aby odwzorować cały zakres na jedną funkcję. Ta funkcja otrzyma ID jako parametr, aw ramach tej funkcji można wykonywać różne operacje na podstawie identyfikatora.
8
define the menu's using #define
#define ID_SHOW 2002
#define ID_HIDE 2004
//create a menu object for main menu
CMenu *menu = new CMenu();
menu->CreateMenu();
//another menu object for submenu
CMenu *subMenu = new CMenu();
subMenu->CreatePopupMenu();
subMenu->AppendMenu(MF_STRING, ID_HIDE, _T("four"));
subMenu->AppendMenu(MF_STRING, ID_SHOW, _T("three"));
//append submenu to menu
menu->AppendMenu(MF_POPUP|MF_STRING, (UINT)subMenu->m_hMenu, _T("Advanced"));
SetMenu(menu);
0
CMenu menuPopup;
menuPopup.LoadMenu(IDR_CNTXT_PLAN);
subMenu.CreatePopupMenu();
subMenu.AppendMenu(MF_STRING, MENU1,"Menu1");
subMenu.AppendMenu(MF_STRING, MENU2,"Menu2");
CMenu* pMenu = menuPopup.GetSubMenu(0);
pMenu->InsertMenu(0,MF_BYPOSITION|MF_POPUP,(UINT)subMenu.m_hMenu,"Layers");
menuPopup.GetSubMenu(0)->InsertMenu(1,MF_BYPOSITION|MF_SEPARATOR,0,"");
menuPopup.GetSubMenu(0)->TrackPopupMenu(TPM_LEFTALIGN, point.x, point.y, this);
Powiązane problemy
- 1. Usuwanie menu w MFC
- 2. Dynamiczne sortowanie przy użyciu LINQ
- 3. Dynamiczne tworzenie elementów przy użyciu jQuery
- 4. Dynamiczne tworzenie GUI przy użyciu plików konfiguracyjnych
- 5. Dynamiczne ładowanie udostępnionych obiektów przy użyciu dlopen()
- 6. Czy mogę serializować mapę STL w MFC przy użyciu CArchive?
- 7. przesuwne menu przy użyciu biblioteki jfeinstein10
- 8. Dodanie rozwijanego menu przy użyciu d3.js
- 9. Dodawanie zminimalizować okno do menu systemowego MFC Property Sheet
- 10. Dynamiczne dodawanie niestandardowych znaczników do map przy użyciu OpenLayers
- 11. Ember: dynamiczne przełączenie na wybrany język (przy użyciu biblioteki i18n)
- 12. Dynamiczne pole mieszające w Mongoid przy użyciu mocnych parametrów
- 13. Dynamiczne ładowanie pliku ustawień regionalnych przy użyciu Requirejs
- 14. Jak zabić wątek MFC?
- 15. Wykrywanie wklejenia menu kontekstowego w przeglądarce przy użyciu jquery
- 16. Programowo wywołać menu kopiowania w Safari iOS przy użyciu javascript?
- 17. Curved menu dla aplikacji internetowych przy użyciu CSS i JS
- 18. JSF Primefaces przy użyciu paska menu w wydaniu układu
- 19. Menu opcji rozwijanej przy użyciu interfejsu użytkownika onsen
- 20. Pobierz bieżącą wartość wybraną w menu rozwijanym przy użyciu jQuery
- 21. Etykiety MFC pojawiają się tylko przy specjalnych okazjach.
- 22. Powiązanie menu WPF przy użyciu HierarchicalDataTemplate nie renderuje poprawnie elementów menu.
- 23. Pobierz nazwy pozycji z listy kontrolnej aplikacji .NET przy użyciu Winapi lub mfc
- 24. Jak zaimplementować wartości dynamiczne w elemencie menu w Androidzie
- 25. Jak dodać dynamiczne menu rozwijane w pliku XML Joomla JForm
- 26. MFC - zmiana koloru tekstu sterowania tekstem spoczynkowym
- 27. Błąd C1189 MFC
- 28. MFC przeglądarka folderu IFileOpenDialog
- 29. Wymiarowanie okna MFC
- 30. MFC: funkcja GetCurrentDirectory