Timer der alle x Sekunden etwas ausführt
-
Hallo Leute,
habe mir gerade mal OnTimer angeschaut, werde aber nicht so ganz schlau daraus.
Also ich brauche etwas dass alle 360 sekunden etwas ausführt.
Wie fange ich dass dennab, so dass alle 360 sekunden die WM_TIMER gesendet wird?
Einfach SetTimer ausführen mit der Anzahl Sekunden?Gruß
-
mr. main schrieb:
Einfach SetTimer ausführen mit der Anzahl Sekunden?
Warum Sekunden? In der Hilfe steht unter CWnd::SetTimer() bei mir Millisekunden.
-
MSDN sollte die erste Anlaufstelle sein:
void CMainFrame::OnStartTimer() { m_nTimer = SetTimer(1, 2000, 0); } void CMainFrame::OnStopTimer() { KillTimer(m_nTimer); } void CMainFrame::OnTimer(UINT nIDEvent) { MessageBeep(0xFFFFFFFF); // Beep // Call base class handler. CMDIFrameWnd::OnTimer(nIDEvent); }Zeitfenster ist hier 2 Sekunden (2000ms). Einzelne Timer kannst du anhand ihrer ID ansprechen (wichtig bei mehreren Timern).
-
Ok alles klar also habe ich mir das schon richtig gedacht. Werde mal ein wenig mehr in der MSDN nachlesen.
Gibt es denn ein Maximum an Wartezeit? Ich bräuchte 360 sek also 360000ms.
Gruß
-
Minimum und Maximum sind so definiert:
#define USER_TIMER_MAXIMUM 0x7FFFFFFF
#define USER_TIMER_MINIMUM 0x0000000A