UDF > WinAPIEx > Menus & Resources > Icons >


_WinAPI_CreateIcon

Crée une icône qui a la taille, les couleurs, et les motifs de bits spécifiés

#include <WinAPIIcons.au3>
_WinAPI_CreateIcon ( $hInstance, $iWidth, $iHeight, $iPlanes, $iBitsPixel, $pANDBits, $pXORBits )

Paramètres

$hInstance Handle à l'instance du module créant l'icône.
$iWidth La largeur, en pixels, de l'icône.
$iHeight La hauteur, en pixels, de l'icône.
$iPlanes Le nombre de plans dans le masque de bits XOR de l'icône.
$iBitsPixel Le nombre de bits par pixel dans le masque de bits XOR de l'icône.
$pANDBits Un tableau d'octets qui contient les valeurs de bits pour le masque de bits AND de l'icône. Ce masque de bits décrit un bitmap monochrome.
$pXORBits Un tableau d'octets qui contient les valeurs de bits pour le masque de bits XOR de l'icône. Ce masque de bits décrit un bitmap monochrome ou en couleur, dépendant du périphérique.

Valeur de retour

Succès: Retourne le handle de l'icône qui est créée.
Échec: Retourne 0, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur.

Remarque

Lorsque vous avez fini d'utiliser l'icône, détruisez-la en utilisant la fonction _WinAPI_DestroyIcon().

En relation

_WinAPI_DestroyIcon

Voir aussi

Consultez CreateIcon dans la librairie MSDN.

Exemple

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WinAPIIcons.au3>

Local Const $sANDBits = _
        'FF FF FF FF'& _
        'FF FF C3 FF'& _
        'FF FF 00 FF'& _
        'FF FE 00 7F'& _
        'FF FC 00 1F'& _
        'FF F8 00 0F'& _
        'FF F8 00 0F'& _
        'FF F0 00 07'& _
        'FF F0 00 03'& _
        'FF E0 00 03'& _
        'FF E0 00 01'& _
        'FF E0 00 01'& _
        'FF F0 00 01'& _
        'FF F0 00 00'& _
        'FF F8 00 00'& _
        'FF FC 00 00'& _
        'FF FF 00 00'& _
        'FF FF 80 00'& _
        'FF FF E0 00'& _
        'FF FF E0 01'& _
        'FF FF F0 01'& _
        'FF FF F0 01'& _
        'FF FF F0 03'& _
        'FF FF E0 03'& _
        'FF FF E0 07'& _
        'FF FF C0 0F'& _
        'FF FF C0 0F'& _
        'FF FF 80 1F'& _
        'FF FF 00 7F'& _
        'FF FC 00 FF'& _
        'FF F8 03 FF'& _
        'FF FC 3F FF'

Local Const $sXORBits = _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 38 00'& _
        '00 00 7C 00'& _
        '00 00 7C 00'& _
        '00 00 7C 00'& _
        '00 00 38 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'& _
        '00 00 00 00'

; Crée la structure du masque de bits AND
Local $bData = Binary('0x' & StringStripWS($sANDBits, 8))
Local $tANDBits = DllStructCreate('byte[' & BinaryLen($bData) & ']')
DllStructSetData($tANDBits, 1, $bData)

; Crée la structure du masque de bits XOR
$bData = Binary('0x' & StringStripWS($sXORBits, 8))
Local $tXORBits = DllStructCreate('byte[' & BinaryLen($bData) & ']')
DllStructSetData($tXORBits, 1, $bData)

; Crée une icône monochrome (32x32)
Local $hIcon = _WinAPI_CreateIcon(0, 32, 32, 1, 1, $tANDBits, $tXORBits)

; Crée une GUI
GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 128, 128)
GUICtrlCreateIcon('', 0, 48, 48, 32, 32)
GUICtrlSendMsg(-1, $STM_SETIMAGE, 1, $hIcon)
GUISetState(@SW_SHOW)

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE