aifl Geschrieben 8. August 2003 Geschrieben 8. August 2003 Hallo, ich versuche in der Menüleiste ein neues Element einzubinden (wie "Datei") und anschließend mehrere Unterelemente (wie "Neu", "Öffnen" etc.) hier der Code: CMenu *pMenu = GetMenu(); iPos = 3 // Kommt normalerweise als Übergabeparameter //Oberpunkt erstellen (z.B. Datei) pMenu->InsertMenu(iPos, MF_BYPOSITION, MF_SEPARATOR, "Datei"); DrawMenuBar(); //Anzahl aller Items ermitteln und nach der mit Beschriftung "Datei" suchen int iMenuSize = pMenu->GetMenuItemCount(); for( int i = 0; i < iMenuSize; i++) { CString szTmp; pMenu->GetMenuString(i, szTmp, MF_BYPOSITION ); if( szTmp == "Datei" ) { //Und hier kriege ich keinen gültigen Handle! Wieso??? CMenu* pSubmenu = pMenu->GetSubMenu(i); //Array mit Menüelementen int iMax = m_aMenuArray.GetSize(); for (int a=0; a<iMax ;a++) { MenuStruktur = m_aMenuArray.GetAt(a); pSubmenu->InsertMenu(a, MF_BYPOSITION| MenuStruktur.uiMenuState, MenuStruktur.uiID, MenuStruktur.szText); } this->DrawMenuBar(); } } aifl Zitieren
aifl Geschrieben 8. August 2003 Autor Geschrieben 8. August 2003 Gefunden! Die Stelle wo der Oberpunkt erstellt wird kommt folgendes: CMenu *pMenu = GetMenu(); MenuStruct MenuStruktur; int iMenuSize = pMenu->GetMenuItemCount(); CMenu NewPopupMenu; NewPopupMenu.CreatePopupMenu(); HMENU hNewMenu = NewPopupMenu.GetSafeHmenu(); pMenu->InsertMenu( m_iMenuPos, MF_BYPOSITION | MF_POPUP | MF_ENABLED, (UINT)hNewMenu, szMenu ); iMenuSize++; NewPopupMenu.Detach(); Ein schönes Wochenende! aifl Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.