Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование на WinApi, C++Builder, Visual C++


Информационный Канал Subscribe.Ru


Выпуск № 21-2003 BCBDEV.RU

Здравствуйте уважаемые подписчики!

Перед вами очередной выпуск рассылки "Программирование на WinApi"
Переводы многих функций Win32API, которые часто используются в данной рассылке, вы можете получать, подписавшись на дружественную рассылку "WinAPI на русском".
Справочник по функциям Win32API вы можете посмотреть на сайте BcbDev.ru в разделе MSDN по-русски.

Создание таймеров.
Можно смело забыть про существование таких функций как SetTimer/KillTimer. Вот - более точный таймер, проверьте это! При реализации не забудьте подключить winmm.lib
#include <mmsystem.h>

void FAR PASCAL OnTimerShot(UINT wTimerID, UINT msg, DWORD dwUser, DWORD dw1, DWORD dw2)
{
 MessageBox(NULL, (LPSTR)dwUser, "Процедура таймера", MB_OK);
}

UINT KillTimerCallback(UINT timerID)
{
 return(timeKillEvent(timerID) == TIMERR_NOERROR);
}

UINT SetTimerCallback(DWORD npSeq, UINT msInterval, UINT tEvent)
{
 UINT wTimerID = timeSetEvent(msInterval, msInterval, OnTimerShot, (DWORD)npSeq, tEvent);
 return(wTimerID);
}
Удобный, более точный!
 char buffer[26] = "Тестирование на данных пользователя";
 UINT timerID = SetTimerCallback((DWORD)(char [26])buffer, 1000/*милисекунд*/, TIME_ONESHOT);
 MessageBox(NULL, Запуск", "Без таймера", 0);
TIME_ONESHOT - функция обратного вызова будет вызываться единожды после истечения интервала msInterval.
TIME_PERIODIC - функция обратного вызова будет вызываться каждый раз после истечения интервала msInterval.
Если вы хотите остановить событие TIME_PRIODIC вызовите KillTimerCallback(timerID);

Удачи Вам в Ваших делах Куковинец Андрей aka Juggernaut

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное