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
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
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden