wxWidgets Event-Loop überschreiben



  • Hallo Community,

    gibt es eine sinnvolle Möglichkeit die Event-Loop von wxWidgets zu überschreiben. In dieser überschriebenen Funktion möchte ich nichts anders tun, als die orginale wxWidgets-Event-Loop aufzurufen und eine eigene Funktion, welche mir meine eigenen Event's abarbeitet.

    Derzeit habe ich das so so gelößt das ich über das 'wxEVT_IDLE' eine Funktion aufrufe die mir meine Funktion 'AktionEventLoop()' auslößt. Zusätzlich zu diesem habe ich noch einen TimerEvent programmiert der alle 100 MS ausgelößt wird und ebenfalss diese 'AktionEventLoop()' auslöst.

    Anbei noch die Codeauszüge für
    Die Erzeugung des Timers und des IDLE

    // Timer für AktionEventLoop
    MyAktionEventTimer = new wxTimer(this);
    this->Bind(wxEVT_TIMER, &nmpCAppFrame::WxOnTimer, this);
    MyAktionEventTimer->Start(100);
    
    // Idle für AktionEventLoop
    this->Bind(wxEVT_IDLE, &nMyFrame::WxOnIdle, this);
    

    // Die Funktionen die aufgerufen werden wenn Event auslöst

    // OnTimer
    void nMyFrame::WxOnTimer(wxTimerEvent& /*ThisWxEvent*/)
    {
    	AktionEventLoop();
    }
    
    // OnIdle
    void nMyFrame::WxOnIdle(wxIdleEvent& ThisWxEvent)
    {
    	AktionEventLoop();
    	ThisWxEvent.RequestMore();
    }
    

    Irgendwelche Vorschläge wie dies zu realisiern ist. Bzw. ob es sinnvoll ist

    Mfg Ollow


Anmelden zum Antworten