Ana menümüme bir menü öğesi eklemek ve daha sonra çalışma zamanında öğelerle doldurmak istiyorum. Bunu nasıl yapardım? Ve ürün ekledikten sonra, kimliğini bilmediğimden, onlar için bir mesaj haritası girişi nasıl olurdu?mfc kullanarak dinamik menü
9
A
cevap
15
Böyle dinamik bir CMenu
nesnesi oluşturabilirsiniz: mesaj haritası gelince
wnd->GetMenu()->AppendMenu(MF_POPUP, (UINT_PTR)menu->m_hMenu, "Menu Name");
, tüm menü öğesini varsayarak:
CMenu *menu = new CMenu;
menu->CreatePopupMenu();
// Add items to the menu
menu->AppendMenu(MF_STRING, menuItemID, "Text");
...
Sonra ana menüye bu alt menü ekle Kimlikler belirli bir aralıkta, tüm aralığı tek bir işlevle eşleştirmek için ON_COMMAND_RANGE
'u kullanabilirsiniz. Bu işlev, kimliği bir parametre olarak alır ve işlev içinde kimliğe göre farklı işlemler gerçekleştirebilirsiniz.
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);
İlgili konular
- 1. MFC
- 2. MFC
- 3. Varolan bir MFC uygulamasına nasıl bir şerit menü ekleyebilirim?
- 4. Menü Öğesi
- 5. Metin genişliğini MFC olarak alın
- 6. C++ MFC C++ MFC uygulamasında Alfa şeffaf Dikdörtgen
- 7. jfeinstein10 kütüphanesini kullanarak sürgülü menü
- 8. Hata C1189 MFC
- 9. MFC Penceresinin Boyutlandırılması
- 10. MFC: GetCurrentDirectory işlevi
- 11. Sırasız listeyi kullanarak bir menü yapmak mı?
- 12. dinamik ben başka bir değişken gibi bir şey kullanarak bunları yüklemek istiyorum vb menü dosya
- 13. kullanıcı bir alt menü öğesini seçtikten veya
- 14. ASP.NET - Veritabanından dinamik olarak kullanıcıya özel bir menü oluşturma
- 15. C++ win32 dinamik menüsü - hangi menü öğesi seçildi
- 16. Önişlemcideki "MFC Kullan" nasıl algılanır
- 17. C++ CLI System.String^- MFC LPCTSTR
- 18. MFC Boyama Glitch'i nasıl düzeltilir?
- 19. mfc outlookbar iletişim dizelerini çevirin
- 20. Menü Grubunu Menü Öğesine Hizalama
- 21. MySQL kullanarak dinamik verileri Javascript kullanarak bul
- 22. Diğer makinede C++ MFC aygıtları kaydedilemiyor
- 23. Program aracılığıyla bir MFC radyo düğmesi seçin
- 24. Regex kullanarak dinamik dizgi eşleme
- 25. MVVM kullanarak Dinamik Görünüm Animasyonları
- 26. Dinamik SQL kullanarak yapılandırma tabloları
- 27. Makefile kullanarak Dinamik Bağlantı Kitaplığı
- 28. LoadFrame (MFC) yalnızca Avustralya'da başarısız oluyor
- 29. MFC Penceresine bitmapler olarak video karelerini çizin
- 30. Bir MFC uygulamasının Unicode/MBCS'ye dönüştürülmesi