Was in der VCL-Programmierung das "OnTimer"-Event ist, ist beim API die Nachricht "WM_TIMER", die gesendet wird, sobald das angegebene Intervall abgelaufen ist. Gemäß der Deklaration aus unserem Beispiel würde die Nachricht also bereits nach 1 Sekunde das erste Mal auftreten ... und so fort ... Wir müssen also nichts weiter tun, als diese Nachricht in der Nachrichtenfunktion abzufangen und zu bearbeiten:
WM_TIMER:
begin
{Countdown aktualisieren}
Dec(i);
wvsprintf(buffer, 'Countdown %d', PChar(@i));
SetWindowText(hwndLabel, buffer);
...
end;
Da wir im Beispielprogramm nur einen Timer benutzen, entfällt die gezielte Abfrage der Timer-ID. Hätten Sie z.B. mehrere Timer in Ihrem Programm, dann müssten Sie den Wert von wParam abfragen, der die ID enthält:
WM_TIMER:
case wParam of
IDC_TIMER1:
// Timer 1 ist aktiv geworden
IDC_TIMER2:
// Timer 2 ist aktiv geworden
// usw.
end;