lprc - указывает на структуру типа RECT , которая получает ограничивающий прямоугольник.
Возвращаемые значения
Возвращаемое значение показывает сложность результирующей области и может принимать одно из следующих значений:
Значение |
Пояснение |
COMPLEXREGION |
Область состоит более чем из одного прямоугольника. |
ERROR |
Произошла ошибка. |
NULLREGION |
Пустая область. |
SIMPLEREGION |
Область является одиночным прямоугольником. |
Если значение параметра hrgn не идентифицирует действительную область, возвращается нуль.
См. также
RECT .
OffsetRgn
Функция OffsetRgn перемещает область на заданные смещения.
int OffsetRgn (
HRGN hrgn , // дескриптор области
int nXOffset , // смещение вдоль оси x
int nYOffset // смещение вдоль оси y
);
Параметры
hrgn - идентифицирует перемещаемую область.
nXOffset - задает количество логических единиц, на которое область смещается влево или вправо.
nYOffset - задает количество логических единиц, на которое область смещается вверх или вниз.
Возвращаемые значения
Возвращаемое значение определяет сложность новой области. Может принимать одно из следующих значений:
Значение |
Пояснение |
COMPLEXREGION |
Область состоит более чем из одного прямоугольника |
ERROR |
Произошла ошибка, область не изменена. |
NULLREGION |
Пустая область |
SIMPLEREGION |
Область является одиночным прямоугольником |
SetPolyFillMode
Функция SetPolyFillMode устанавливает режим заполнения многоугольников для соответствующих функций.
int SetPolyFillMode (
HDC hdc , // дескриптор контекста устройства
int iPolyFillMode // режим заполнения многоугольников
);
Параметры
hdc - идентифицирует контекст устройства.
iPolyFillMode - определяет новый режим заполнения. Может быть одним из следующих значений:
Значение |
Пояснение |
ALTERNATE |
Попеременный режим. Закрашиваются только те фрагменты внутренней области многоугольника, которые получаются путем соединения линий с нечетными номерами (1, 3, 5 и т. д.). Другие фрагменты внутренней области не закрашиваются. |
WINDING |
Сквозной. Windows закрашивает все внутренние области. |
Возвращаемые значения
Возвращается предыдущий режим заполнения многоугольников.
В случае ошибки возвращается нуль.
Комментарии
Вообще, режимы отличаются только в случаях, где должен быть заполнен сложный перекрывающийся многоугольник (например, пятисторонний многоугольник, который образует пяти-лучевую звезду с пятиугольником в центре). В таких случаях, режим ALTERNATE заполняет каждую закрытую область внутри прямоугольника (то есть, лучи звезды), а режим WINDING заполняет все области (то есть, лучи звезды и прямоугольник).
См. также
GetPolyFillMode .
Црифт и текст
CreateFontIndirect
Функция CreateFontIndirect создает логический шрифт, характеристики которого определены в указанной структуре. Впоследствии шрифт может быть выбран в качестве текущего шрифта для любого контекста устройства.
HFONT CreateFontIndirect (
CONST LOGFONT * lplf // указатель на структуру логического шрифта
);
Параметры
lplf - указывает на структуру типа LOGFONT , которая определяет характеристики логического шрифта.
Возвращаемые значения
В случае успеха возвращается дескриптор логического шрифта.
В случае неудачи возвращается нуль.
Комментарии
Функция CreateFontIndirect создает логический шрифт с характеристиками, указанными в структуре типа LOGFONT . Когда шрифт выбирают функцией SelectObject , механизм отображения шрифтов GDI пытается подобрать логическому шрифту существующий физический шрифт. Если попытка подобрать точное соответствие закончилась неудачей, то предоставляется альтернативный шрифт, чьи характеристики удовлетворяют наибольшему числу запрашиваемых характеристик.
Когда логический шрифт вам больше не нужен, вызовите для его удаления функцию DeleteObject .
См. также
DeleteObject, LOGFONT, SelectObject .
Сообщения и очереди сообщений
GetQueueStatus
Функция GetQueueStatus возвращает флаги, которые показывают тип сообщений, обнаруженных в очереди сообщений вызывающего потока.
DWORD GetQueueStatus (
UINT flags // флаги состояния очереди
);
Параметры
flags - определяет флаги состояния очереди, указывая типы сообщений для проверки. Может быть комбинацией следующих значений:
Значение |
Пояснение |
QS_ALLEVENTS |
Сообщение ввода, WM_TIMER, WM_PAINT, WM_HOTKEY или помещенное в очередь сообщение. |
QS_ALLINPUT |
Любое сообщение ввода. |
QS_HOTKEY |
Сообщение WM_HOTKEY . |
QS_INPUT |
Сообщение ввода. |
QS_KEY |
Сообщение WM_KEYUP, WM_KEYDOWN, WM_SYSKEYUP или WM_SYSKEYDOWN в очереди. |
QS_MOUSE |
Сообщение WM_MOUSEMOVE или сообщение клавиши мыши ( WM_LBUTTONUP, WM_RBUTTONDOWN и т. п.). |
QS_MOUSEBUTTON |
Сообщение клавиши мыши ( WM_LBUTTONUP, WM_RBUTTONDOWN и т. п.). |
QS_MOUSEMOVE |