_WinAPI_GetWindowDC
Возвращает контекст устройства (DC) для всего окна
#include <WinAPI.au3>
_WinAPI_GetWindowDC($hWnd)
Параметры
$hWnd | Дескриптор окна |
Возвращаемое значение
Успех: | Возвращает дескриптор контекст устройства указанного окна |
Ошибка: | Возвращает 0 |
Примечания
Функция _WinAPI_GetWindowDC предназначена для специальных эффектов рисования в неклиентской области окна. Рисование в неклиентской области любого окна обычно не рекомендуется. Функция GetSystemMetrics может быть использована для извлечения размеров различных частей неклиентской области, такие как строка заголовка, меню и полосы прокрутки. После завершения рисования, должна быть вызвана функция _WinAPI_ReleaseDC, чтобы освободить контекст устройства. Не освобождение контекст устройства окна имеет серьезные последствия для рисования, запрошенного приложением.См. также
_WinAPI_ReleaseDCСм. также
Искать GetWindowDC в библиотеке MSDNПример
#include <GUIConstantsEx.au3>
#include <WinAPI.au3>
_Main()
Func _Main()
Local $hGUI, $hBrush, $hDC
Local $hBrush, $hDC, $hGUI, $ptrRect, $tRect
; Создаёт GUI
$hGUI = GUICreate("WinAPI", 400, 300)
$hDC = _WinAPI_GetWindowDC($hGUI)
GUISetState()
$hBrush = _WinAPI_CreateSolidBrush(0x0000FF)
$tRect = DllStructCreate($tagRECT)
DllStructSetData($tRect, "Left", 20)
DllStructSetData($tRect, "Top", 50)
DllStructSetData($tRect, "Right", 200)
DllStructSetData($tRect, "Bottom", 200)
$ptrRect = DllStructGetPtr($tRect)
_WinAPI_FrameRect($hDC, $ptrRect, $hBrush)
; Цикл выполняется, пока окно не будет закрыто
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
; Очищает ресурсы
_WinAPI_DeleteObject($hBrush)
_WinAPI_ReleaseDC($hGUI, $hDC)
EndFunc