Чтение онлайн

ЖАНРЫ

Русский справочник по Win32 API

Сорока Тарас

Шрифт:
empty-line/>

Возвращаемые значения

В случае, если установленное аппаратное обеспечение поддерживает счетчик производительности, возвращается ненулевое значение.

В случае, если установленное аппаратное обеспечение не поддерживает счетчик производительности, возвращается нуль.

См. также

QueryPerformanceCounter.

SetTimer

Функция SetTimer создает таймер с указанным

интервалом срабатывания.

UINT SetTimer (

HWND hWnd , // дескриптор окна для сообщений таймера

UINT nIDEvent , // идентификатор таймера

UINT uElapse , // интервал срабатывания таймера

TIMERPROC lpTimerFunc // адрес процедуры таймера

);

Параметры

hWnd– идентифицирует окно, связанное с таймером. Окном должен владеть вызывающий поток. Если значение этого параметра равно NULL, с таймером не связывается никакого окна и параметр nIDEvent игнорируется.

nIDEvent– определяет ненулевой идентификатор таймера. Если значение параметра hWnd равно NULL, этот параметр игнорируется.

uElapse– определяет интервал срабатывания в миллисекундах.

lpTimerFunc– указывает на функцию, уведомляемую об истечении заданного интервала. Для дополнительной информации смотрите описание функции TimerProc .

Если значение lpTimerFunc равно NULL, система отправляет сообщение WM_TIMER в очередь собщений приложения. Значение члена hwnd структуры сообщения типа MSG содержит значение параметра hWnd .

Возвращаемые значения

В случае успеха возвращается целочисленный идентификатор нового таймера. Приложение может передавать этот идентификатор в функцию KillTimer для разрушения таймера.

Если не удалось создать новый таймер, возвращается нуль.

Комментарии

Приложение может обрабатывать сообщение WM_TIMER в оконной процедуре приложения, с соответствующим включением в ее исходный код оператора case, либо указывая при создании таймера функцию обратного вызова TimerProc . Когда вы указываете функцию обратного вызова, функция DispatchMessage просто вызывает ее вместо оконной процедуры.

Значение параметра wParam сообщения WM_TIMER содержит значение параметра nIDEvent .

См. также

DispatchMessage, KillTimer, MSG, TimerProc , WM_TIMER.

TimerProc

Функция TimerProc является определяемой приложением функцией обратного вызова, которая обрабатывает сообщения WM_TIMER.

VOID CALLBACK TimerProc (

HWND hwnd , //

дескриптор окна для сообщений таймера

UINT uMsg , // сообщение WM_TIMER

UINT idEvent , // идентификатор таймера

DWORD dwTime // текущее системное время

);

Параметры

hwnd– идентифицирует окно, связанное с таймером.

uMsg– определяет сообщение WM_TIMER.

idEvent– определяет идентификатор таймера.

dwTime– задает число миллисекунд, истекших с момента старта Windows. Это значение возвращается функцией GetTickCount .

Возвращаемые значения

Функция не возвращает значения.

Комментарии

TimerProc является "заполнителем" для имени определяемой приложением функции.

См. также

GetTickCount, KillTimer, SetTimer , WM_TIMER.

Сообщения

WM_TIMER

Сообщение WM_TIMER отправляется в очередь сообщений установившего таймер потока или соответствующей функции обратного вызова TimerProc по истечении интервала, заданного при установке таймера функцией SetTimer .

WM_TIMER

wTimerID = wParam ; // идентификатор таймера

tmprc = ( TIMERPROC *) lParam ; // адрес функции обратного вызова таймера

Параметры

wTimerIDзначение wParam . Определяет идентификатор таймера.

tmprc– значение lParam . Указывает на определяемую приложением функцию обратного вызова, адрес которой был передан при установке таймера функцией SetTimer . Если значение параметра tmprc не равно NULL, Windows передает сообщение WM_TIMER указанной функции обратного вызова вместо помещения сообщения в очередь сообщений потока.

Возвращаемые значения

Приложение должно возвращать нуль, если оно обрабатывает это сообщение.

Комментарии

Функция DispatchMessage передает сообщение в очередь сообщений потока, когда в ней нет других сообщений.

См. также

DispatchMessage, SetTimer, TimerProc .

Ввод с клавиатуры

Поделиться с друзьями: