Dynamisches Menu event handling?
-
Hallo zusammen,
ich habe in der Menu Leiste einen Eintrag erstellt wenn das Programm startet. Darin sollen später alle vorhandenen Sprachen auftauchen die in einem Verzeichniss liegen. Aus diesen Sprachen soll man dann mit einem Check Event eine auswählen können. Leider verstehe ich nicht ganz wie ich auf diese Veränderung reagiere also wie fange ich ab welche Sprache gewählt wurde ?
Hier mal der Code den ich bis jetzt habe:
// Language File laden CMenu* pMenu = AfxGetMainWnd()->GetMenu(); //CMenu* pSubMenu = pMenu->GetSubMenu(4); CMenu* pSubMenu = new CMenu(); MENUITEMINFO german; CString tmpStr1 = "German"; german.fMask = MIIM_STRING | MIIM_ID; german.fType = MFT_STRING; german.fState = MFS_ENABLED; german.wID = 0; german.hSubMenu = NULL; german.hbmpChecked = NULL; german.hbmpUnchecked = NULL; german.dwTypeData = (LPSTR) tmpStr1.GetBuffer(); german.cch = strlen(tmpStr1); german.cbSize = sizeof(german); MENUITEMINFO english; CString tmpStr2 = "English"; english.fMask = MIIM_STRING | MIIM_ID; english.fType = MFT_STRING; english.fState = MFS_ENABLED; english.wID = 0; english.hSubMenu = NULL; english.hbmpChecked = NULL; english.hbmpUnchecked = NULL; english.dwTypeData = (LPSTR) tmpStr2.GetBuffer(); english.cch = strlen(tmpStr2); english.cbSize = sizeof(english); pSubMenu->CreatePopupMenu(); pSubMenu->InsertMenuItem(0, (LPMENUITEMINFO) &german, 1); pSubMenu->InsertMenuItem(1, (LPMENUITEMINFO) &english, 0); pSubMenu->CheckMenuItem(0,MF_CHECKED); HMENU hMen = pSubMenu->GetSafeHmenu(); pMenu->InsertMenu(4,MF_BYPOSITION | MF_POPUP | MF_ENABLED,(UINT)hMen, "Sprache"); pSubMenu->Detach();Zur Zeit setze ich die Menu Items noch statisch später soll das in einer For schleife ablaufen die für die vorhandenen Sprachdateien einen Eintrag anlegt.
Es wäre schön wenn mir jemand mit einem bisschen Code erklären könnte wie ich auf das Check Event reagiere. Weil zur Zeit ist es auch so das ich nicht wechseln kann zwischen den beiden Einträgen. Also damit meine ich das der Haken nicht umspringt.
Ich würde mich über eine Antwort sehr freuen.
Gruß
Wild