wxWidgets -> wxFrame::Centre funkt nicht



  • Hallo,
    bin normalerweise in Qt unterwegs, habe aber nun auch mal wxWidgets
    ausprobiert (Version 2.8.12) ... hat auch eine Stunde lang ganz gut geklappt 😃
    Ich habe mir ein Minimalbeispiel gesucht, und das ganze unter
    Linux (Slackware, Kernel 2.6.37, x11) und WindowsVista getestet.
    Das Minibeispiel:

    #include <wx/wx.h>
    
    class HalloWeltApp : public wxApp {
    	public: virtual bool OnInit();
    };
    
    class BasicFrame : public wxFrame {
    public:
    	BasicFrame( const wxChar *title,int xpos, int ypos,int width, int height);
    };
    
    IMPLEMENT_APP(HalloWeltApp)
    
    bool HalloWeltApp::OnInit() {
    	BasicFrame *frame = new BasicFrame( wxT("wxFrame-Demo"), 50, 50, 500, 300);
    	frame->Show(TRUE);
    	SetTopWindow(frame);
    	return TRUE;
    }
    BasicFrame::BasicFrame ( const wxChar *title, int xpos, int ypos, int width, int height)
    : wxFrame ( NULL, -1, title, wxPoint(xpos, ypos), wxSize(width, height), wxDEFAULT_FRAME_STYLE) {
    	Centre();
    }
    

    Den identischen Code habe ich mit Eclipse CDT unter Linux und
    WinVista benutzt ... alles (fast) wunderbar ...
    Mit den Microsoft Windows Betriebssystemen habe ich leider fast
    keine Erfahrung ... aber darauf läuft das Programm wie gewollt 😕
    Unter Linux klappt einfach das Zentrieren des Frames nicht !!
    (auch Maximieren des Frames ist nicht möglich) Das Teil klebt
    an der linken oberen Ecke und rührt sich nicht vom Fleck !!
    Habe dann alles auf der Kommandozeile getestet, aber leider dasselbe
    Ergebnis erhalten.
    Hat jemand einen Tipp ???



  • Hallo

    Hast Du die wxWidgets Umgebung in Linux aus dem Paketmanager
    installiert ?

    Dann besorge Dir wxWidgets von www.wxwidgets.org GTK-Port
    und installiere es aus den Sources !!!

    Danach probier nochmal Deine Code.

    Auf diesem Weg lief bei mir Dein Beispiel.


Anmelden zum Antworten