Функция _WinAPI_SetBkMode

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


_WinAPI_SetBkMode

Устанавливает режим смешивания фона для указанного контекста устройства

#include <WinAPI.au3>
_WinAPI_SetBkMode($hDC, $iBkMode)

Параметры

$hDC Дескриптор контекста устройства
$iBkMode Режим смешивания фона. Может быть одним из следующих значений:
    OPAQUE - Background is filled with the current background color before the text, hatched brush, or pen is drawn.
    TRANSPARENT - Background remains untouched.

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

Успех:Возвращает значение, определяющее предыдущий режим смешивания фона.
Ошибка:Возвращает 0

Примечания

The background mix mode is used with text, hatched brushes, and pen styles that are not solid lines.
The SetBkMode function affects the line styles for lines drawn using a pen created by the CreatePen function.
SetBkMode does not affect lines drawn using a pen created by the ExtCreatePen function.
The $iBkMode parameter can also be set to driver-specific values. GDI passes such values to the device driver and otherwise ignores them.

См. также

_WinAPI_GetBkMode, _WinAPI_DrawText, _WinAPI_CreatePen, _WinAPI_SelectObject

См. также

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

Пример

#include <WinAPI.au3>
#include <WindowsConstants.au3>
#include <FontConstants.au3>

Global $tRECT, $hFont, $hOldFont, $hDC

HotKeySet("{ESC}", "_Exit")

$tRECT = DllStructCreate($tagRect)
DllStructSetData($tRECT, "Left", 5)
DllStructSetData($tRECT, "Top", 5)
DllStructSetData($tRECT, "Right", 250)
DllStructSetData($tRECT, "Bottom", 50)

$hDC = _WinAPI_GetDC(0)
$hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
        $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$hOldFont = _WinAPI_SelectObject($hDC, $hFont)

_WinAPI_SetTextColor($hDC, 0x0000FF)
_WinAPI_SetBkColor($hDC, 0x000000)

MsgBox(4096, "Информация", "GetBkMode: " & _WinAPI_GetBkMode($hDC))

; Закомментируй следующую строку, чтобы получить черный фон вместо прозрачного
_WinAPI_SetBkMode($hDC, $TRANSPARENT)

MsgBox(4096, "Информация", "GetBkMode: " & _WinAPI_GetBkMode($hDC))

While 1
    _WinAPI_DrawText($hDC, "Привет мир!", $tRECT, $DT_CENTER)
    Sleep(100)
WEnd

Func _Exit()
    _WinAPI_SelectObject($hDC, $hOldFont)
    _WinAPI_DeleteObject($hFont)
    _WinAPI_ReleaseDC(0, $hDC)
    _WinAPI_InvalidateRect(0, 0)
    $tRECT = 0
    Exit
EndFunc   ;==>_Exit