Были определены идентификаторы двух таймеров. Эти идентификаторы стали доступны как константы приложению в целом.
Можно определить их как константы с помощью директивы #define в заголовочном файле класса(TimersDlg.h) или в файле исходного кода (TimersDlg.cpp) :
#define ID_CLOCK_TIMER 1
class CTimresDlg:publicCDialog
. . .
//////////////////////////
//CTimresDlg
#define ID_COUNT_TIMER 2
{
Для определения таймера событие которого произошло используется идентификатор таймера.
Одно сообщение.
Листинг 5A Модифицированные функции OnBnClickedBstarttime() и OnBnClickedBstoptime()
void CTimersDlg::OnBnClickedBstarttime()
{
//обновить переменные
UpdateData(TRUE);
//инициализировать счетчик m_iCount
m_iCount = 0;
//Форматировать (Format) счетчик для отображения
m_sCount.Format("%d",m_iCount);
//обновить диалоговое окно
UpdateData(FALSE);
//Запустить таймер-счетчик
SetTimer(ID_COUNT_TIMER,m_iInterval,NULL);
//остановить таймер-часы
KillTimer(ID_CLOCK_TIMER);
//перезагрузить таймер часов с интервалом, хранимым в счетчике
SetTimer(ID_COUNT_TIMER,m_iInterval,NULL);
m_cStopTime.EnabltWindow(TRUE);
m_cStartTime.EnabltWindow(FALSE);
}
//перезапустить таймер -часы с интервалом в 1 секунду
m_cStopTime.EnabltWindow(TRUE);
void CTimerDlg::OnBnClicedBstoptime()
{
KillTimer(ID_CLOCK_TIMER);
SetTimer(ID_CLOCK_TIMER,1000,NULL);
m_cStartTime.EnabltWindow(FALSE);
Назад |
Вверх |
Начало урока |
Содержание