wxMenuBar wird nicht angezeigt



  • Hallo zusammen.
    In einem Programm von mir wird von wxWidgets keine MenuBar angezeigt obwohl ich eine solche erstelle. Hier ist die Funktione:

    CMainFrame::CMainFrame(const wxChar* title,
    					   int xpos, int ypos,
    					   int width, int height) : wxFrame((wxFrame*)NULL,
    														-1, title,
    														wxPoint(xpos, ypos),
    														wxSize(width, height)) 
    {
    	// Menübar erzeugen
    	m_pMenuBar = new wxMenuBar();
    
    	// Menü "Datei"
    	m_pFileMenu = new wxMenu();
    
    	// Menüpunkte zu FileMenu hinzufügen
    	m_pFileMenu->Append(MENU_FILE_QUIT,
    						wxT("&Beenden\tAlt+F4"),
    						wxT("Beendet das Programm"));
    
    	// FileMenu zu MenuBar hinzufügen
    	m_pMenuBar->Append(m_pFileMenu, wxT("&Datei"));
    
    	// Statusbar erzeugen
    	CreateStatusBar(2);
    }
    

    Ich hoffe, mir kann jemand sagen, wo ich einen Fehler gemacht habe.



  • CMainFrame::CMainFrame(const wxChar* title,
                           int xpos, int ypos,
                           int width, int height) : wxFrame((wxFrame*)NULL,
                                                            -1, title,
                                                            wxPoint(xpos, ypos),
                                                            wxSize(width, height))
    {
        // Menübar erzeugen
        wxMenuBar* bar = new wxMenuBar();
    
        // Menü "Datei"
        m_pFileMenu = new wxMenu();
    
        // Menüpunkte zu FileMenu hinzufügen
        m_pFileMenu->Append(MENU_FILE_QUIT,
                            wxT("&Beenden\tAlt+F4"),
                            wxT("Beendet das Programm"));
    
        // FileMenu zu MenuBar hinzufügen
        bar->Append(m_pFileMenu, wxT("&Datei"));
    
       // Menubar zum Frame hinzufügen
       this->SetMenuBar(bar);
    
        // Statusbar erzeugen
        CreateStatusBar(2);
    }
    

    Es gibt übrigens keinen Grund den Zeiger auf die Menubar zu speichern als Member, das wird in der Basisklasse wxFrame bereits getan und der Zeiger kann über wxFrame::GetMenuBar() abgefragt werden.
    Auch die Menüs brauchst im prinzip nicht als Member. Kann man alles abfragen.



  • Vielen Dank. So Jetz gehts.


Anmelden zum Antworten