Function Reference

_WinAPI_SetBkMode

指定されたデバイスコンテキストの背景ミックスモードを設定します。

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

 

パラメータ

$hDC デバイスコンテキストのハンドル
$iBkMode 背景ミックスモードを指定します。このパラメータは次の値のいずれかです:
OPAQUE - 背景はテキスト、ハッチブラシ、ペンが描画される前に現在の背景色で塗りつぶされます。
TRANSPARENT - 背景は未処理のままです。

 

返し値

成功: 前の背景ミックスモードを表す値
失敗: 0

 

注意

背景ミックスモードはテキスト、ハッチブラシ、実線でないペンスタイルで使用されます。
SetBkMode関数はCreatePen関数で作成されたペンを使用して描画された線のラインスタイルに影響を与え、
ExtCreatePen関数で作成されたペンを使用して描画された線には影響を与えません。
$iBkModeパラメータはドライバ固有の値を設定するためにも使用できます。
GDIはそのような値をデバイスドライバに渡し、それ以外の場合は無視します。

 

関連

_WinAPI_GetBkMode, _WinAPI_DrawText, _WinAPI_CreatePen, _WinAPI_SelectObject

 

こちらも参照

MSDNライブラリでSetBkModeを検索して下さい。

 


#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, "Information", "GetBkMode: " & _WinAPI_GetBkMode($hDC))

; 次の行をコメント化すると背景色が透過色から黒色になる
_WinAPI_SetBkMode($hDC, $TRANSPARENT)

MsgBox(4096, "Information", "GetBkMode: " & _WinAPI_GetBkMode($hDC))

While 1
    _WinAPI_DrawText($hDC, "Hello world!", $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