Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Timer starten

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
08.08.2008, 14:38 Uhr
~basti
Gast


Hallo,

ich habe noch nie mit Visual C++ gearbeitet, und wenn dann nur auf der Konsole.

Nun muss ich ein kleines Spiel programmieren. Dazu benötige ich einen Timer.

Die .cpp Dateien BlockPuzzle, BlockPuzzleDoc, BlockPuzzleView wurden schon automatisch angelegt.

Nun habe ich gegoogelt und 2 Bücher durchgewälzt und alle Foren durchgelesen und bin zum Ergebnis gekommen das ich 2 Funktionen benötige.

SetTimer(1, 1000, 0); //TimerID=1

Also wenn ich das nun richtig verstanden haben ist der erste Parameter für die ID des Timer, der zweite für die Zeit (in ms) und der dritte ???

Jede Quelle hat irgendwie seine eigene Funktion, einmal mit 4 Paramtern und einmal mit 3 und aus allen werde ich nicht schlau, alles ist anders dokumentiert.

Allerdings weiß ich nicht wann und wo ich den Timer setzten soll und wo die Funktion OnTimer hingehört.


::OnTimer(1) //TimerId = 1
{

//hier kommt dann meine Aktion rein wenn der Timer abgelaufen ist aber aufgerufen wird

}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
08.08.2008, 16:09 Uhr
Tommix



Hallo,
das mit der unterschiedlichen Parameterzahl rührt daher, daß es hier (wie oft) eine Windows-API-Funktion und eine gleichnamige Entsprechung in den MFC gibt - letztere benötigt kein Fensterhandle. Der dritte Parameter kann ein Zeiger auf die Timer-Funktion sein, den benötigst Du hier nicht, daher ist er 0 (bzw. NULL). Die Timer-Funktion muß in eine von CWnd abgeleitete Klasse sein, bei Dir also vermutlich CBlockPuzzleView:

C++:
// BlockPuzzleView.h
protected:
    afx_msg void OnTimer(UINT nIDEvent);

// BlockPuzzleView.cpp

void CBlockPuzzleView::OnTimer(UINT nIDEvent)
{
    switch (nIDEvent)
    {
        case 1:
            // Dein Code hier...
            break;
    }

    CView::OnTimer(nIDEvent);
}

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: