Sets the background mix mode of the specified device context
#include <WinAPIGdiDC.au3>
_WinAPI_SetBkMode ( $hDC, $iBkMode )
$hDC | Handle to device context |
$iBkMode | Specifies the background mix mode. This parameter can be one of the following values. OPAQUE - Background is filled with the current background color before the text, hatched brush, or pen is drawn. TRANSPARENT - Background remains untouched. |
Success: | Value specifies the previous background mix mode. |
Failure: | 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_CreatePen, _WinAPI_DrawText, _WinAPI_GetBkMode, _WinAPI_SelectObject
Search SetBkMode in MSDN Library.
#include <FontConstants.au3>
#include <MsgBoxConstants.au3>
#include <StructureConstants.au3>
#include <WinAPIGdi.au3>
#include <WinAPIGdiDC.au3>
#include <WinAPIHObj.au3>
#include <WinAPISysWin.au3>
#include <WindowsConstants.au3>
Global $g_tRECT, $g_hFont, $g_hOldFont, $g_hDC
HotKeySet("{ESC}", "_Exit")
$g_tRECT = DllStructCreate($tagRECT)
DllStructSetData($g_tRECT, "Left", 5)
DllStructSetData($g_tRECT, "Top", 5)
DllStructSetData($g_tRECT, "Right", 250)
DllStructSetData($g_tRECT, "Bottom", 50)
$g_hDC = _WinAPI_GetDC(0)
$g_hFont = _WinAPI_CreateFont(50, 0, 0, 0, 400, False, False, False, $DEFAULT_CHARSET, _
$OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $DEFAULT_QUALITY, 0, 'Arial')
$g_hOldFont = _WinAPI_SelectObject($g_hDC, $g_hFont)
_WinAPI_SetTextColor($g_hDC, 0x0000FF)
_WinAPI_SetBkColor($g_hDC, 0x000000)
MsgBox($MB_SYSTEMMODAL, "Information", "GetBkMode: " & _WinAPI_GetBkMode($g_hDC))
; comment next line to get black background instead of transparent one
_WinAPI_SetBkMode($g_hDC, $TRANSPARENT)
MsgBox($MB_SYSTEMMODAL, "Information", "GetBkMode: " & _WinAPI_GetBkMode($g_hDC))
While 1
_WinAPI_DrawText($g_hDC, "Hello world!", $g_tRECT, $DT_CENTER)
Sleep(100)
WEnd
Func _Exit()
_WinAPI_SelectObject($g_hDC, $g_hOldFont)
_WinAPI_DeleteObject($g_hFont)
_WinAPI_ReleaseDC(0, $g_hDC)
_WinAPI_InvalidateRect(0, 0)
$g_tRECT = 0
Exit
EndFunc ;==>_Exit