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 )
$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é. |
Succès: | Retourne le mode de mixage précédent. |
Échec: | Retourne 0 |
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.
_WinAPI_CreatePen, _WinAPI_DrawText, _WinAPI_GetBkMode, _WinAPI_SelectObject
Consultez SetBkMode dans la librairie MSDN.
#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