Menü 'per Code' einfügen



  • Hi,

    ich versteh die Welt nicht mehr. Wenn ich in VC++ .NET mit dem Recourceneditor ein Menü erstellt habe, weiß ich nun nicht, wie ich es in mein Fenster bekomme. Ich mache das alles ohne MFC, ich will nur wissen, wie ich dieses Menü reinbekomme. In einem Tut zu VC6 stand einfach man soll den selben Namen angeben, aber in VC.NET kann man das Menü nicht benennen.
    Naja, danke für jeden Ratschlag.

    Creon



  • Ich mache das alles ohne MFC

    Ist ja super, dass Du in einen Fahrradladen gehst, um ein Auto zu kaufen!



  • Wenn ich das Richtig verstehe hast du ein Menü "Gebaut" und willst es anzeigen lassen.
    Da du das ohne MFC machst benutzt du wohl WinAPI.
    Wenn du das Menü im Fenster laden möchtest musst du es in der Class für dein Fenster angeben z.B.:

    WNDCLASS wnd;
    wc.lpszMenuName = LoadMenu(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_MENU1));
    
    Oder als Right->Mouse->Button->Menü:
    
    GetCursorPos(&pt);
                    TMenu = GetSubMenu(LoadMenu(GetModuleHandle(NULL), MAKEINTRESOURCE(IDR_MENU1)), 0);
                    TrackPopupMenu(TMenu, TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, 0, hwnd, NULL);
                    PostMessage(hwnd, WM_NULL, 0, 0);
    

    So ist es zumindest in Cpp 6.0.
    Ich hoffe ich konnte helfen.

    RS



  • Danke für die Antwort. Nur irgendwie will er nicht so wie ich will. Da die Funktion LoadMenu ein Objekt vom Typen HMENU zurückgibt, meckert der Compiler, wenn er diesen Wert auf den String lpszMenuName setzen soll.
    Was mache ich falsch?


Anmelden zum Antworten