Читаем Русский справочник по Win32 API полностью

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

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

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

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

Комментарии

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

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

См. также

DispatchMessage, KillTimer, MSG, TimerProc , WM_TIMER.

<p>TimerProc</p>

Функция 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.

<p>Сообщения</p><p>WM_TIMER</p>

Сообщение 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 .

<p>Ввод с клавиатуры</p><p>SetKeyboardState</p>

Функция SetKeyboardState копирует массив из 256 байт состояний клавиш в таблицу состояния ввода с клавиатуры вызывающего потока. Это та же самая таблица, к которой имеют доступ функции GetKeyboardState и GetKeyState . Изменения, сделанные в этой таблице, не влияют на ввод с клавиатуры для других потоков.

BOOL SetKeyboardState (

LPBYTE lpKeyState // адрес массива с кодами виртуальных клавиш

);

Параметры

lpKeyState - указывает на 256-байтный массив, который содержит состояния клавиш клавиатуры.

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

В случае успеха возвращается ненулевое значение.

В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError .

Комментарии

Поскольку функция SetKeyboardState изменяет состояние ввода вызывающего потока, но не глобальное состояние ввода системы, приложение не может использовать SetKeyboardState для установки индикаторов NUM LOCK, CAPS LOCK или r SCROLL LOCK на клавиатуре.

См. также

GetAsyncKeyState, GetKeyboardState, GetKeyState, MapVirtualKey .

<p>Области</p><p>CombineRgn</p>

Функция CombineRgn объединяет две области и сохраняет результат в третьей. Две области объединяются согласно указанному режиму объединения.

int CombineRgn (

HRGN hrgnDest , // дескриптор результирующей области

HRGN hrgnSrc 1 , // дескриптор исходной области

HRGN hrgnSrc 2 , // дескриптор исходной области

int fnCombineMode // режим объединения областей

);

Параметры

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных