Timer - einen zweiten SetTimer
-
habe ein Problem
SetTimer(ID_TIMER,250,0);//initialisierung SetTimer(IDC_Button_Info,2000,0); //dekleration void MyDlg::OnTimer(UNIT nIDEVENT) { CTime CurTime = CTime::GetCurrentTime(); this->m_Zeit=CurTime.Format("%H:%M:%S") this->UpdateData(FALSE) KillTimer(0); }
Diese Funktion arbeitet sauber und ist ok.
Ich möchte jetzt moch ein zweiten Timer setzen der sich nicht alle 250 ms abläuft sondern der sich unabhängig alle 2 s abläuft.
Ich möchte das der Button sich alle 2 Sekunden ändert.Bekomme das nicht so hin
wer kann helfen
Vossy
-
OnTimer wir jedesmal bei einem WM_TIMER aufgerufen. Egal welcher Timer es ausgelöst hat.
nIDEVENT
Gibt dir die Nummer des Timmers
if (nIDEVENT == 1) { // Timer 1 } if (nIDEVENT == 2) { // Timmer 2 }
u.s.w.
[ Dieser Beitrag wurde am 08.04.2002 um 13:00 Uhr von Unix-Tom editiert. ]
-
Hi,
Du solltest in OnTimer, nIDEVENT auswerten und entsprechend was der Timer veranstalten soll, machen:switch(nIDEVENT)
{
case ID_TIMER :
...
break;case IDC_Button_Info :
// Mach was mit Button etx.
break;}
Gruss Thomas
-
nIDEVENT gibt mir leider keinen Wert zurück
sieht jetzt so aus
SetTimer(ID_TIMER,250,0);//wird in OnIntDialog initialisiert SetTimer(IDC_Button_Info,2000,0); // hier gibt es nicht die möglichkeit nIDEvent einem Timer zuzuweisen //-------------------------------------------------------- void MyDlg::OnTimer(UNIT nIDEVENT) { if if(nIDEvent == 1) { CTime CurTime = CTime::GetCurrentTime(); this->m_Zeit=CurTime.Format("%H:%M:%S") this->UpdateData(FALSE) } if(nIDEvent == 2) { if(wechsel == FALSE) { m_Button_Item3.SetIcon(IDI_ICON11); wechsel = TRUE; goto ENDE; } if(wechsel == TRUE) { m_Button_Item3.SetIcon(IDI_ICON12); wechsel = FALSE; goto ENDE; } } ENDE:; }
Deklariere ich so passiert garnichts
nehme ich
if(nIDEvent == 1)
if(nIDEvent == 2)
raus geht es aber das Blinken bezieht sich auf 1/2 sekunde was ja auch richtig istWie weise ich also nIDEvent zu und wo deklariere ich das
Vossy
-
if if(nIDEvent == 1) //ist falsch muß natürlich if(nIDEvent == 1) //heißen
Vossy
-
Hallo,
Du mußt die Abfrage so machen:
if (nIDEvent == ID_TIMER) ...
Da brauchst du nichts deklarieren oder zuweisen.Gruß mathi
[ Dieser Beitrag wurde am 08.04.2002 um 14:17 Uhr von mathi editiert. ]
-
Danke jetzt geht es
Vossy
wäre was für die FAQ