Функция _WinAPI_DrawEdge

 ↑  ←  Описание функции


_WinAPI_DrawEdge

Рисует одну или несколько границ прямоугольника

#include <WinAPI.au3>
_WinAPI_DrawEdge($hDC, $ptrRect, $nEdgeType, $grfFlags)

Параметры

$hDC Дескриптор контекста устройства
$ptrRect Указатель на структуру $tagRECT, содержащую координаты прямоугольника
$nEdgeType Указывает тип внутренних и внешних границ. Этот параметр должен быть комбинацией двух флагов: одной внутренней границы и одной внешней границы.
    Флаги внутренних границ следующие:
    $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 Specifies the type of border. Этот параметр может быть комбинацией следующих значений:
    $BF_ADJUST - If this flag is passed, shrink the rectangle pointed to by the $ptrRect parameter to exclude the edges that were drawn.
    If this flag is not passed, then do not change the rectangle pointed to by the $ptrRect parameter
    $BF_BOTTOM - Нижняя граница прямоугольника
    $BF_BOTTOMLEFT - Нижняя и левая границы прямоугольника
    $BF_BOTTOMRIGHT - Нижняя и правая границы прямоугольника
    $BF_DIAGONAL - Диагональ
    $BF_DIAGONAL_ENDBOTTOMLEFT - Диагональ. Конечная точка в левом нижнем углу прямоугольника; начало в правом верхнем углу
    $BF_DIAGONAL_ENDBOTTOMRIGHT - Диагональ. Конечная точка в правом нижнем углу прямоугольника; начало в левом верхнем углу
    $BF_DIAGONAL_ENDTOPLEFT - Диагональ. Конечная точка в левом верхнем углу прямоугольника; начало в нижнем правом углу
    $BF_DIAGONAL_ENDTOPRIGHT - Диагональ. Конечная точка в правом верхнем углу прямоугольника; начало в нижнем левом углу
    $BF_FLAT - Плоская граница
    $BF_LEFT - Левая граница прямоугольника
    $BF_MIDDLE - Внутренности прямоугольника заполнены
    $BF_MONO - Одномерные (не объёмные) границы
    $BF_RECT - Все стороны прямоугольника
    $BF_RIGHT - Правая граница прямоугольника
    $BF_SOFT - Soft buttons instead of tiles
    $BF_TOP - Верхняя граница прямоугольника
    $BF_TOPLEFT - Верхняя и левая границы прямоугольника
    $BF_TOPRIGHT - Верхняя и правая границы прямоугольника

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

Успех:Возвращает True
Ошибка:Возвращает False

Примечания

Необходим BorderConstants.au3 для предопределения констант

См. также

$tagRECT

См. также

Искать DrawEdge в библиотеке MSDN

Пример

#include <GUIConstantsEx.au3>
#include <WinAPI.au3>
#include <BorderConstants.au3>

; Создаёт GUI
$hGUI = GUICreate("Рисование границ", 400, 300)
GUISetState()

$hDC = _WinAPI_GetWindowDC($hGUI)

$tRect = DllStructCreate($tagRECT)
DllStructSetData($tRect, "Left", 20)
DllStructSetData($tRect, "Top", 50)
DllStructSetData($tRect, "Right", 200)
DllStructSetData($tRect, "Bottom", 200)
$ptrRect = DllStructGetPtr($tRect)

; Рисует границы прямоугольника
_WinAPI_DrawEdge($hDC, $ptrRect, $EDGE_SUNKEN, $BF_RECT)

_WinAPI_ReleaseDC($hGUI, $hDC) ; Освобождает ресурсы

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE