Тарас Сорока - Русский справочник по Win32 API
- Название:Русский справочник по Win32 API
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Тарас Сорока - Русский справочник по Win32 API краткое содержание
Русский справочник по Win32 API - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
lpKeyState - указывает на 256-байтный массив, который содержит состояния клавиш клавиатуры.
Возвращаемые значения
В случае успеха возвращается ненулевое значение.
В случае неудачи возвращается нуль. Для получения дополнительной информации об ошибке вызовите функцию GetLastError.
Комментарии
Поскольку функция SetKeyboardStateизменяет состояние ввода вызывающего потока, но не глобальное состояние ввода системы, приложение не может использовать SetKeyboardStateдля установки индикаторов NUM LOCK, CAPS LOCK или r SCROLL LOCK на клавиатуре.
См. также
GetAsyncKeyState, GetKeyboardState, GetKeyState, MapVirtualKey.
Области
CombineRgn
Функция CombineRgnобъединяет две области и сохраняет результат в третьей. Две области объединяются согласно указанному режиму объединения.
int CombineRgn(
HRGN hrgnDest , // дескриптор результирующей области
HRGN hrgnSrc 1 , // дескриптор исходной области
HRGN hrgnSrc 2 , // дескриптор исходной области
int fnCombineMode // режим объединения областей
);
Параметры
hrgnDest - идентифицирует новую область с размерами, определяемыми двумя исходными областями (область должна существовать до вызова функции CombineRgn).
hrgnSrc 1 - идентифицирует первую из двух исходных областей.
hrgnSrc 2 - идентифицирует вторую из двух исходных областей.
fnCombineMode - определяет режим объединения двух областей. Может принимать одно из следующих значений:
Значение |
Пояснение |
RGN_AND |
Создается пересечение двух областей. |
RGN_COPY |
Создается копия области, идентифицируемой значением параметра hrgnSrc 1 . |
RGN_DIFF |
Объединяются те части области, идентифицируемой значением параметра hrgnSrc 1 , которые не являются частями области, идентифицируемой значением параметра hrgnSrc 2 . |
RGN_OR |
Создается объединение двух областей. |
RGN_XOR |
Создается объединение двух областей, за исключением любых пересекающихся участков. |
Возвращаемые значения
Возвращаемое значение показывает сложность результирующей области и может принимать одно из следующих значений:
Значение |
Пояснение |
COMPLEXREGION |
Область состоит более чем из одного прямоугольника |
ERROR |
Произошла ошибка |
NULLREGION |
Пустая область |
SIMPLEREGION |
Область является одиночным прямоугольником |
Комментарии
Области могут совпадать друг с другом. Например, значение параметра hrgnSrc 1 может быть равно значению параметра hrgnDest .
См. также
CreateEllipticRgn, CreateEllipticRgnIndirect, CreatePolygonRgn, CreatePolyPolygonRgn, CreateRectRgn, CreateRectRgnIndirect, CreateRoundRectRgn.
CreateEllipticRgn
Функция CreateEllipticRgnсоздает эллиптическую область.
HRGN CreateEllipticRgn(
int nLeftRect , // x -координата верхнего левого угла
// ограничивающего прямоугольника
int nTopRect , // y - координата верхнего левого угла
// ограничивающего прямоугольника
int nRightRect , // x -координата нижнего правого угла
// ограничивающего прямоугольника
int nBottomRect // y - координата нижнего правого угла
// ограничивающего прямоугольника
);
Параметры
nLeftRect - определяет x -координату верхнего левого угла прямоугольника, ограничивающего эллипс.
nTopRect - определяет y -координату верхнего левого угла прямоугольника, ограничивающего эллипс.
nRightRect - определяет x -координату нижнего правого угла прямоугольника, ограничивающего эллипс.
nBottomRect - определяет y -координату нижнего правого угла прямоугольника, ограничивающего эллипс.
Возвращаемые значения
В случае успеха возвращается дескриптор области.
В случае неудачи возвращается NULL .
Комментарии
Ограничивающий прямоугольник определяет размер, форму и ориентацию области. Длинные стороны прямоугольника определяют длину большой оси эллипса; короткие стороны определяют длину малой оси эллипса; центр прямоугольника определяет пересечение большой и малой осей.
Координаты ограничивающего прямоугольника задаются в логических единицах.
См. также
CreateEllipticRgnIndirect, DeleteObject, SelectObject.
CreateEllipticRgnIndirect
Функция CreateEllipticRgnIndirectсоздает эллиптическую область.
HRGN CreateEllipticRgnIndirect(
CONST RECT* lprc // указатель на структуру, определяющую
// ограничивающий прямоугольник
);
Параметры
lprc - указатель на структуру типа RECT, которая содержит координаты верхнего левого и нижнего правого углов ограничивающего эллипс прямоугольника.
Возвращаемые значения
В случае успеха возвращается дескриптор области.
В случае неудачи возвращается NULL .
Комментарии
Ограничивающий прямоугольник определяет размер, форму и ориентацию области. Длинные стороны прямоугольника определяют длину большой оси эллипса; короткие стороны определяют длину малой оси эллипса; центр прямоугольника определяет пересечение большой и малой осей.
Координаты ограничивающего прямоугольника задаются в логических единицах.
См . также
CreateEllipticRgn, DeleteObject, RECT, SelectObject.
CreatePolygonRgn
Функция CreatePolygonRgnсоздает многоугольную область.
HRGN CreatePolygonRgn(
CONST POINT* lppt , // указатель на массив точек
int cPoints , // число точек в массиве
int fnPolyFillMode // режим заполнения многоугольника
);
Параметры
lppt - указатель на массив структур типа POINT, которые определяют вершины многоугольника. Многоугольник полагается замкнутым. Каждая вершина может быть задана лишь один раз.
cPoints - определяет количество точек в массиве.
fnPolyFillMode - определяет режим заполнения, используемый для определения того, какие пиксели входят в область. Может принимать одно из следующих значений:
Значение |
Пояснение |
ALTERNATE |
Попеременный режим. Закрашиваются только те фрагменты внутренней области многоугольника, которые получаются путем соединения линий с нечетными номерами (1, 3, 5 и т. д.). Другие фрагменты внутренней области не закрашиваются. |
WINDING |
Сквозной. Windows закрашивает все внутренние области. |
Для дополнительной информации об этих режимах смотрите описание функции SetPolyFillMode.
Читать дальшеИнтервал:
Закладка: