WinApi Функция DrawEdge
Описание:
function DrawEdge(hdc: HDC; var qrc: TRect; edge: UINT; grfFlags: UINT): BOOL;
Функция предназначена для рисования бордюров. Удобно при создании собственнных компонентов для автомитизации отрисовки бордюров кнопок, рамок и.т.д.Рамка рисуется в виде комбинации из двух прямоугольников — внутреннего (inner) и внешнего (outer). Каждый из них может быть выпуклым (raised) либо вдавленным (sunken). Тип рамки определяется параметром edge.
Параметры:
hdc: Хендл контекста устройтсва.
qrc: Структура TRect которая определяет логические координаты прямоуголника бордюра.
edge: Указывает тип отрисовки внутреннего и внешнего края бордюра. Должен быть комбинащией одного флага внутренней границы и одного флага внешней границы.
Флаги внутренней границы:
BDR_RAISEDINNER - Приподнятый
BDR_SUNKENINNER - Утопленный
Флаги внешней границы:
BDR_RAISEDOUTER - Приподнятый
BDR_SUNKENOUTER - Утопленный
Кроме того флаг края может принимать еще несколько значений:
EDGE_BUMP - Комбинация из флагов BDR_RAISEDOUTER и BDR_SUNKENINNER
EDGE_ETCHED - Комбинация из флагов BDR_SUNKENOUTER и BDR_RAISEDINNER
EDGE_RAISED - Комбинация из флагов BDR_RAISEDOUTER и BDR_RAISEDINNER
EDGE_SUNKEN - Комбинация из флагов BDR_SUNKENOUTER и BDR_SUNKENINNER
grfFlags: Определяет отрисовку и тип бордюра:
BF_BOTTOM - Рисуется нижняя полоса бордюра
BF_TOP - Рисуется верхняя полоса бордюра
BF_LEFT - Рисуется левая полоса бордюра
BF_RIGHT - Рисуется правая полоса бордюра
BF_BOTTOMLEFT - Рисуется левый нижний угол
BF_BOTTOMRIGHT - Рисуется левый правый угол
BF_TOPLEFT - Рисуется левый верхний угол
BF_TOPRIGHT - Рисуется правый верхний угол
BF_RECT - Рисуется вся рамка
BF_DIAGONAL - Русует границу по диагонили. Флаги этой группы чаще используются для рисования конопок разбитых по диагонали на две секции.
BF_DIAGONAL_ENDBOTTOMLEFT - Диагональ исходит из верхнего правого угла, заходит в нихний левый
BF_DIAGONAL_ENDBOTTOMRIGHT - Диагональ исходит из верхнего левого угла, заходит в нижний правый
BF_DIAGONAL_ENDTOPLEFT - Диагональ исходит из нижнего правого угла, заходит в верхний левый
BF_DIAGONAL_ENDTOPRIGHT - Диагональ исходит из нижнего левого угла, заходит в верхний правый
BF_FLAT - Плоская граница(стиль OfficeXP)
BF_SOFT - Мягкие кнопки(стиль OfficeXP)
BF_MONO - Рисует одномерную рамку
BF_MIDDLE - Заливает внутреннюю область рамки текущей кистью
BF_ADJUST - Корректирует параметр qrc так, что после отрисовки он соответствует внутренней области рамки. Удобно применять для рисования в дальнейшем
Возвращаемое значение:
Если функция добивается успеха, то возвращается не ноль. В случае неудачи ноль. Для дополнительной информации об ошибке вызовите функцию GetLastError.
Материал взят из:
Русская спpавка по Windows API