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ßenVossy 
 
- 
					
					
					
					
 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