Hallo,
ich möchte gerne für eine Windowprozedur einen Timer erstellen!
Das sollte so aussehen, daß von Zeit zu Zeit ,vielleicht alle paar Sekunden eine bestimmte Funktion aufgerufen wird!
Ich dachte , ich könnte bei "switch(msg)" die Zeit abfragen, in einer Variablen speichern und dann bei der nächsten message mit der anderen Variablen vergleichen!
Ich könnte die WM_PAINT-message nehmen, die ich ansonsten nicht behandle, die wird ja öfter mal gesendet, ich wollte dann ein static int variable zunächste mit 0 initialisieren, dann bei jeder WM_PAINT eins hochzählen, und bei einem bestimmten Wert die Funktion aufrufen, das ganze sieht so aus:
Aber die MessageBox kommt nie!
Wenn ich aber eine MessageBox direkt nach zaehler++; ausgebe, dann kommen ganz viel!
Naja, jetzt habe ich aber auch gemerkt, daß diese Nachricht wohl doch nicht ständig kommt, sondern nur beim Erstellen des Fensters, oder, wenn man es minimiert hat, und dann wieder maximiert!
Gibt es denn eine Message, die regelmäßig kommt, die ich nehmen könnte?
Und wo ist das Problem,. daß der Zähler nie 20 wird, obwohl mindestesn 20 mal die WM_PAint-Nachricht kam?
ich möchte gerne für eine Windowprozedur einen Timer erstellen!
Das sollte so aussehen, daß von Zeit zu Zeit ,vielleicht alle paar Sekunden eine bestimmte Funktion aufgerufen wird!
Ich dachte , ich könnte bei "switch(msg)" die Zeit abfragen, in einer Variablen speichern und dann bei der nächsten message mit der anderen Variablen vergleichen!
Ich könnte die WM_PAINT-message nehmen, die ich ansonsten nicht behandle, die wird ja öfter mal gesendet, ich wollte dann ein static int variable zunächste mit 0 initialisieren, dann bei jeder WM_PAINT eins hochzählen, und bei einem bestimmten Wert die Funktion aufrufen, das ganze sieht so aus:
Code:
switch (msg) {
case WM_PAINT:
if(s!=-1){
zaehler++;
if (zaehler == 20){
MessageBox(NULL,"zähler 20",NULL,MB_OK);
zaehler=0;
}
}
break;
}
Aber die MessageBox kommt nie!
Wenn ich aber eine MessageBox direkt nach zaehler++; ausgebe, dann kommen ganz viel!
Naja, jetzt habe ich aber auch gemerkt, daß diese Nachricht wohl doch nicht ständig kommt, sondern nur beim Erstellen des Fensters, oder, wenn man es minimiert hat, und dann wieder maximiert!
Gibt es denn eine Message, die regelmäßig kommt, die ich nehmen könnte?
Und wo ist das Problem,. daß der Zähler nie 20 wird, obwohl mindestesn 20 mal die WM_PAint-Nachricht kam?