Richtig. Les dir den letzten Satz noch mal durch:
Zitat:
When you specify a TimerProc callback function, the DispatchMessage function simply calls the callback function instead of the window procedure.
Und jetzt guck dir die Nachrichtenschleife mal an:
Delphi-Quellcode:
while GetMessage(msg,0,0,0) do
begin
TranslateMessage(msg);
DispatchMessage(msg);
end;
DispatchMessage ruft also die Callback Funktion auf, anstatt die WM_TIMER Nachricht an die Fenster Prozedur weiterzugeben, wo dann normalerweise WM_TIMER abgefagen und darauf reagieren würde. Und bei welcher Nachricht ruft DispatchMessage jetzt die Callback Funktion auf? Richtig, wenn GetMessage eine WM_TIMER Nachricht aus der Nachrichtenschlage für das Fenster abgeholt hat. Und wie soll Windows eine WM_TIMER Nachricht in die richtige Nachrichtenschlage für das richtige Fenster stellen, wenn du null angibst?