Определяет ширину линии. Если параметр dwPenStyle - PS_GEOMETRIC, ширина дается в логических единицах. Если dwPenStyle - PS_COSMETIC, в ширине должна быть установлена 1.
Lplb
Указатель на структуру LOGBRUSH. Если dwPenStyle - PS_COSMETIC, член lbColor определяет цвет линии, и член lbStyle должен быть установлен в BS_SOLID. Если dwPenStyle - PS_GEOMETRIC, все члены должны использоваться для определения стиля поверхности.
DwStyleCount
Определяет длину множества lpStyle. Эта значение должна быть ноль, если dwPenStyle - не PS_USERSTYLE.
LpStyle
Указатель на множество значений. Первое значение определяет длину первой черты в пользователем стиле, второе значение определяет длину первого места, и так далее. Этот указатель должен быть нулевой, если dwPenStyle - не PS_USERSTYLE.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение - обработка, которая опознает логическую ручку.
Если функция выполнена неуспешно, возвращаемое значение нулевое.
Замечания
Карандаш может иметь любую ширину и может иметь любой из типа поверхности и шаблонов.
Ширина карандаша всегда определяется в стандартных единицах. Ширина кисти - всегда 1.
Стиль кисти определен только для карандаша.
После того, как приложение создает логическую ручку, можно выбирать эту ручку в контекст устройства, вызывая функцию SelectObject. После того, как ручка отобрана в контекст устройства, можно рисовать линии и кривые.
Если dwPenStyle - PS_COSMETIC и PS_USERSTYLE, вхождения в множестве lpStyle определяют длины черт и мест в единицах стиля. Единица стиля определена устройством, где ручка используется, чтобы рисовать линию.
Если dwPenStyle - PS_GEOMETRIC и PS_USERSTYLE, вхождения в множестве lpStyle определяют длины черт и мест в логических единицах.
Если dwPenStyle - PS_ALTERNATE, единица стиля игнорируется, и каждый другой пиксел установлен.
Когда Вы больше не нуждаетесь в ручке, вызовите функцию DeleteObject, чтобы удалить ее.
Функция CombineRgn объединяет два областии хранит результат в третьем областье. Эти два областиобъединены согласно указанному способу.
Int CombineRgn (
HRGN hrgnDest, // обработка области предназначения
HRGN hrgnSrc1, // обработка исходной области
HRGN hrgnSrc2, // обработка исходной области
Int fnCombineMode // область, объединяющая способ обьединения
);
Параметры
HrgnDest
Опознает новую область с определенными измерениями, объединяя две других области.
HrgnSrc1
Выделяет первую из двух областей, которые будут объединены.
HrgnSrc2
Выделяет вторую из двух областей, которые будут объединены.
FnCombineMode
Определяет способ, указывающий, как эти две областибудут объединены. Этот параметр может быть одним из следующих значений:
Значение Описание
RGN_AND Создает пересечение из двух объединенных областей.
RGN_COPY Создает копию области, идентифицированной hrgnSrc1.
RGN_DIFF Объединяет части hrgnSrc1, которые - не часть hrgnSrc2.
RGN_OR Создает союз двух объединенных областей.
RGN_XOR Создает союз двух объединенных областей, если не существует любых областей перекрывания.
Возвращаемое значение
Возвращаемое значение определяет тип заканчивающейся области. Это может быть одна из следующих ценностей:
Значение Значение
NULLREGION Область пуста.
SIMPLEREGION Область - единственный прямоугольник.
COMPLEXREGION Область - больше чем единственный прямоугольник.
ОШИБКА Никакая область не создана.
Замечания
Эти три области не должны быть отличными. Например, hrgnSrc1 параметр может равняться hrgnDest параметру.
Функция CreateEllipticRgn создает эллиптическую область
HRGN CreateEllipticRgn (
Int nLeftRect, // x-координата верхнего левого угла прямоугольника ограничения
Int nTopRect, // y-координата верхнего левого угла прямоугольника ограничения
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.