Menüs



  • Hi!
    Weiss jemand, wie man ein normales Menü in einem MFC Programm anzeigt (kein Kontextmenü)?



  • rechte maustaste auf den dialog -> Einstellungen
    und im drop down das menu auswählen !?



  • ja, das würde funktionieren. Ich meine aber eine SDI Anwendung.



  • SDI/MDI haben bereits Menüs



  • Sorry, ich hätte das vielleicht besser erklären sollen.
    Also, ich habe das Fenster meiner Anwendung in 4 Teile geteilt. Jedes dieser Teile ist von der Klasse CFrameWnd abgeleitet. Ich möchte nun in jedem dieser Teile ein Menü haben. Wie mache ich das?



  • Ich bin jetzt ein ganzes Stück weiter gekommen. In der PreCreateWindow() Funktion kann man ja durch ändern der "CREATESTRUCT& cs" die Einstellungen des Fensters ändern. Unter anderem auch das Menü, durch Ändern der HMENU hMenu Variablen. Ich weiss aber nicht was ich dieser Variablen zuweisen soll.
    Mit:

    cs.hMenu = IDR_MENU1;
    

    funzt es nicht, weil der Compiler anfängt rumzumeckern, dass er int nicht in HMENU konvertieren kann.



  • hi,
    hast du´s schon mal mit SetMenu() probiert???

    Also:
    1. Menuresource anlegen (z.b. IDR_MENU1)
    2. CMenu objekt (z.b. CMenu m_cmMenu;) in header datei aufnehmen und
    3. das menu mit m_cmMenu.LoadMenu(IDR_MENU1); laden
    4. Dann mit SetMenu(&m_cmMenu); deinem Fenster zuweisen.

    habs nicht getestet, aber is doch mal n ansatz oder??

    aussderdem leg ich dir die msdn ans herz ...
    schau mal nach CWnd::SetMenu oder CMenu

    grüsse



  • Danke für deinen Vorschlag. Er funktioniert auch solange ich das ganze in CMainFrame schreibe, aber sobald ich versuche das in meine Klasse zu schreiben, die für das Teilfenster zuständig ist, bekomme ich einen Assert.
    Ich hab auch schon in der MSDN nachgeschaut und nach Tutorials gesucht, aber nichts gefunden.


Anmelden zum Antworten