UDF > WinAPIEx > GDI > DeviceContext >


_WinAPI_SetBkMode

Définit le mode de mixage de l'arrière-plan du contexte de périphérique spécifié

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

Paramètres

$hDC Handle du contexte de périphérique
$iBkMode Indique le mode de mixage du fond. Ce paramètre peut prendre l'une des valeurs suivantes:
OPAQUE - L'arrière-plan est rempli avec la couleur d'arrière-plan en cours avant le texte, avec un pinceau hachuré, ou un crayon.
TRANSPARENT - L'arrière-plan reste inchangé.

Valeur de retour

Succès: Retourne le mode de mixage précédent.
Échec: Retourne 0

Remarque

Le mode de mixage du fond est utilisé avec du texte, des pinceaux hachurés, et des styles de crayons qui ne font pas des lignes pleines.
La fonction SetBkMode affecte les styles de ligne pour les lignes tracées à l'aide d'un crayon créé par la fonction CreatePen.
SetBkMode n'affecte pas les lignes tracées à l'aide d'un stylo créé par la fonction ExtCreatePen.
Le paramètre $iBkMode peut également être défini à des valeurs spécifiques au pilote. GDI passe ces valeurs au pilote de périphérique et les ignore autrement.

En relation

_WinAPI_CreatePen, _WinAPI_DrawText, _WinAPI_GetBkMode, _WinAPI_SelectObject

Voir aussi

Consultez SetBkMode dans la librairie MSDN.

Exemple

#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))

; Commentez la ligne suivante pour obtenir un fond noir au lieu d'un transparent
_WinAPI_SetBkMode($g_hDC, $TRANSPARENT)

MsgBox($MB_SYSTEMMODAL, "Information", "GetBkMode: " & _WinAPI_GetBkMode($g_hDC))

While $g_tRECT > 0
    _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
EndFunc   ;==>_Exit