2017-05-12 2 views
1

Dies ist wahrscheinlich eine dumme wx Newbie Frage, aber ich bin neu in dieser IDE.wxTimer wird beim Start ausgeführt. (WxWidgets, Code :: Blocks, C++)

Wenn Sie die wxTimer verwenden und sie zu einer wxFrame hinzufügen, wird sie beim Start ausgeführt. Ich kann es stoppen und starten, nachdem meine App gestartet wurde, aber zunächst wird es ausgeführt.

Die Verwendung der wxTimer beginnt mit dem Hinzufügen zu einer wxFrame. Doppelklicken Sie dann auf das neue wxTimer Steuersymbol ein Ereignis als solches zu erstellen:

void wxSQLi_417Frame::OnTimer1Trigger(wxTimerEvent& event) 
{ 
    DisUpdate(); 
} 

Das jetzt feuert mit dem Hinzufügen einer Timer1.Start();
Wie es beim Start im Leerlauf sein kann, bis das Senden einer

Timer2.Start(); 

?

+2

Wie erstellen Sie einen Timer? Woher weißt du, dass es feuert? Bist du sicher, dass du Start() nicht irgendwo angerufen hast und es vergessen hast? – Igor

+0

Das hat nichts mit einer IDE zu tun. –

Antwort

1

Vom documentation:

In jedem Fall müssen Sie den Timer starten mit wxTimer::Start() nach konstruieren, bevor es tatsächlich beginnt, Benachrichtigungen zu versenden.

Wenn also Ihr Timer läuft, müssen Sie ihn explizit gestartet haben.

+0

Ja Neil, true.Ich habe diese Zeile unter den Initialisierungen Timer2.Start (1000, true) gefunden; und löschte es. Danke – Ashton

+0

Aber Timer2.Start (1000, wahr); REAPPEARS nachdem ich gespeichert und gespeichert habe .... – Ashton

+0

Ich konstruierte einen Timer dynamisch und verwendet 'kill_timer-> StartOnce (500);' einmal laufen. – Ashton

Verwandte Themen