Русский справочник по Win32 API - Тарас Сорока
Шрифт:
Интервал:
Закладка:
См. также
CreateMailslot, GetMailslotInfo .
Справка
SetMenuContextHelpId
Функция SetMenuContextHelpId связывает идентификатор контекстной справки с меню. Все пункты меню разделяют этот идентификатор. Нет возможности назначить идентификатор контекстной справки индивидуальному пункту меню.
BOOL SetMenuContextHelpId (
HMENU hmenu ,
DWORD dwContextHelpId
);
Параметры
hmenu - дескриптор меню, с которым связывается идентификатор контекстной справки.
dwContextHelpId - идентификатор контекстной справки.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль.
См. также
GetMenuContextHelpId .
Таймеры
KillTimer
Функция KillTimer разрушает указанный таймер.
BOOL KillTimer (
HWND hWnd , // дескриптор окна, установившего таймер
UINT uIDEvent // идентификатор таймера
);
Параметры
hWnd - идентифицирует окно, связанное с указанным таймером. Значение должно совпадать со значением параметра hWnd , переданным функции SetTimer , создавшей таймер.
uIDEvent - указывает таймер, который должен быть разрушен. Если дескриптор окна, переданный в функцию SetTimer , не равен NULL, то значение uIDEvent при вызове KillTimer должно совпадать со значением uIDEvent , переданного в SetTimer . Если приложение вызывало SetTimer с hWnd , установленным в NULL, то значение этого параметра должно быть идентификатором таймера, возвращенным SetTimer .
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .
Комментарии
Функция KillTimer не удаляет сообщения WM_TIMER, уже помещенные в очередь сообщений.
См. также
SetTimer , WM_TIMER.
QueryPerformanceCounter
Функция QueryPerformanceCounter извлекает текущее значение счетчика производительности, если таковой существует.
BOOL QueryPerformanceCounter (
LARGE_INTEGER *lpPerformanceCount // адрес текущего значения счетчика
);
Параметры
lpPerformanceCount - указывает на переменную, которую функция устанавливает в текущее значение счетчика. Если установленное аппаратное обеспечение не поддерживает счетчик производительности, этот параметр может быть установлен в нуль.
Возвращаемые значения
В случае, если установленное аппаратное обеспечение поддерживает счетчик производительности, возвращается ненулевое значение.
Если установленное аппаратное обеспечение не поддерживает счетчик производительности, возвращается нуль.
См. также
QueryPerformanceFrequency .
QueryPerformanceFrequency
Функция QueryPerformanceFrequency извлекает частоту счетчика производительности, если таковой существует.
BOOL QueryPerformanceFrequency (
LARGE_INTEGER *lpFrequency // адрес текущей частоты
);
Параметры
lpFrequency - указывает на переменную, значение которой, в отсчетах в секунду, функция устанавливает в текущую частоту счетчика производительности. Если установленное аппаратное обеспечение не поддерживает счетчик производительности, значение этого параметра может быть равно нулю.
Возвращаемые значения
В случае, если установленное аппаратное обеспечение поддерживает счетчик производительности, возвращается ненулевое значение.
В случае, если установленное аппаратное обеспечение не поддерживает счетчик производительности, возвращается нуль.
См. также
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 передает сообщение в очередь сообщений потока, когда в ней нет других сообщений.