[wxWidgets] Verknüpfen von einem Timer Event mit einem OnPaint Event



  • Hallo,

    folgendes Szenario:
    Ich habe einen Timer welcher jede Sekunde ein einmal ausgelöst wird. Nun würde ich aber gerne eben jedes mal wenn dieser Timer ausgelöst wird, auch ein OnPaint Event auslösen.
    Ich möchte das ganze mit der connect Funktion (ohne Makros) machen.

    Connect(ID_TIMER,wxEVT_PAINT,(wxObjectEventFunction)&MainFrame::OnDrawPanelPaint);
    

    Danke im voraus & Gruß,

    blub blub



  • Mach dir eine normale OnTimer-Funktion. Rufe dort Refresh() auf. Das sorgt dafür das das Fenster neugezeichnet wird und somit dein OnPaint gerufen wird.

    Du kannst OnPaint nicht einfach so aufrufen, weil das Fenster ja gar keine ungültigen Bereiche hat. OnPaint wird vom System veranlasst wenn Teile des Fensters neu gezeichnet werden müssen. Genau dies macht Refresh(). Es macht Teile, bzw ohne Parameter das Gesamte Fenster, ungültig.



  • Vielen Dank, so funktioniert es wunderbar!


Anmelden zum Antworten