mikrocontroller.net

Forum: PC-Programmierung Timer in Win32-Fenster-Anwendung?


Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich habe in C++ eine Win32-Anwendung mit Fenster programmiert und 
verstehe soweit auch den Ablauf(z.B. Klick auf Button->Message wird 
getriggert->Switch->Case->Meine Button-Aktion). Jetzt möchte ich jedoch 
alle x Millisekunden automatisch einen bestimmten Code ausführen und 
komme nicht so recht weiter...ich muss glaube ich irgendwie 
Timergesteuert dafür sorgen, dass meine Message-Auswertung durchlaufen 
wird.

Aber wie genau stellt man das mit WinAPI in C++ an?

Vielen Dank,
Robert

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Robert schrieb:

> komme nicht so recht weiter...ich muss glaube ich irgendwie
> Timergesteuert dafür sorgen, dass meine Message-Auswertung durchlaufen
> wird.
>
> Aber wie genau stellt man das mit WinAPI in C++ an?

Du erzeugst einen Timer und teilst ihm mit, das er alle x Millisekunden 
eine WM_TIMER Message schicken soll. Der Rest geht dann wie gewohnt

Google: winapi timer

Autor: bluppdidupp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

vielen Dank, ich habe jetzt in WM_CREATE per SetTimer einen Timer 
generiert und er läuft schon - jede Sekunde wird meine Routine 
durchlaufen. Was mir nur nicht so ganz klar ist:
Lege ich IDT_TIMER1 oder wie auch immer ich diesen Parameter nenne per 
#define nach gutdünken fest, so wie ich das von anderen symbolischen 
Konstanten z.B. in der resource.h kenne?
Momentan habe ich es am Anfang der Main definiert und einfach mal 1001 
als Wert eingesetzt -  scheint zu klappen. Keine Ahnung ob das jetzt 
richtig oder erlaubt ist, einfach irgendeinen Wert als Kennung für einen 
Timer zu verwenden...

Gruß,
Robert

Autor: Robert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag:
Mir ist schon klar, dass ich in der Auswertung von case WM_TIMER anhand 
dieser symbolischen Konstante die ID des Timers checken kann, weil es 
mehr als einen Timer geben kann...aber ist das der Grund bzw. kann ich 
da jede beliebige Zahl nehmen?

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://msdn.microsoft.com/en-us/library/ms644906%2...

Du hast das also schon ganz gut interpretiert.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.