wxWidgets Funktionsweise?



  • Wie gesagt, also ich würde gern wissen wie bei WxWidgets der Einsprunppunkt für ein Programm liegt! Nur aus reinem Interesse, da ich bezweifele, dass es sich um die int main(); oder int WinMain(); handelt, also kann mir meine Frage einer hier beantworten?



  • eigentlich ist es schon die winMain (unter windows), aber da sie bereits in der
    wx Bibliothek vorhanden ist, sieht man nichts davon.

    Stattdessen erstellt man eine eigene Klasse und leitet diese von wxApp ab.
    Dabei überschreibt man die virtuelle Methode OnInit(), welche dann den
    eigentlichen Einstiegspunkt bildet:

    #ifndef MY_APP_HPP
    #define MY_APP_HPP
    
    #include <wx/wx.h>
    
    class myApp : public wxApp
    {
    bool OnInit();
    };
    
    #endif //MY_APP_HPP
    

    Als nächstes muss dann in der zugehörigen cpp-Datei das Makro
    IMPLEMENT_APP aufgerufen werden, als Parameter gibt man seine
    eigene Klasse mit:

    #include "myApp.hpp"
    
    IMPLEMENT_APP(myApp)
    
    bool myApp::OnInit()
    {
    // so, und hier befindet sich jetzt der Einstiegspunkt ins Programm
    
    return false; // false beendet das Programm, true nicht (oder wars umgekehrt?)
    }
    


  • achso aber der kapselt die winmain() so, dass man das ganze System auch auf (zum Beispiel) Linux portieren kann? Also ist die WinMain doch nicht vorhanden, interessant interessant. Außerdem auch danke für die kurze Einführung!


Anmelden zum Antworten