UDF > WinAPIEx > ShellEx >


_WinAPI_ShellExtractIcon

Extrait une ic�ne de dimension sp�cifi�e dans le fichier sp�cifi�

#include <WinAPIShellEx.au3>
_WinAPI_ShellExtractIcon ( $sIcon, $iIndex, $iWidth, $iHeight )

Param�tres

$sIcon Chemin et nom du fichier � partir duquel l'ic�ne doit �tre extraite.
$iIndex L'index de base 0 de l'ic�ne � extraire. Si cette valeur est un nombre n�gatif, la fonction extrait l'ic�ne dont l'identifiant de ressources est �gal � la valeur absolue de $iIndex.
$iWidth Taille horizontale de l'ic�ne recherch�e.
$iHeight Taille verticale de l'ic�ne recherch�e.

Valeur de retour

Succ�s: Retourne le handle de l'ic�ne extraite.
�chec: Retourne 0.

Remarques

Si l'ic�ne de la dimension sp�cifi� est introuvable dans le fichier, la fonction choisit l'ic�ne appropri�e la plus proche et la modifie en la dimension sp�cifi�e.

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

En relation

_WinAPI_DestroyIcon

Voir aussi

Consultez SHExtractIcons dans la librairie MSDN.

Exemple

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

Local $iIndex = 0, $iTotal = _WinAPI_ExtractIconEx(@SystemDir & '\shell32.dll', -1, 0, 0, 0)

Local $hForm = GUICreate('Test ' & StringReplace(@ScriptName, '.au3', '()'), 160, 160)
Local $idButton = GUICtrlCreateButton('Next', 50, 130, 70, 23)
Local $idIcon = GUICtrlCreateIcon(@SystemDir & '\shell32.dll', 0, 69, 54, 32, 32)
Local $hIcon = GUICtrlGetHandle(-1)
GUISetState(@SW_SHOW)

Local $iMsg
Do
    $iMsg = GUIGetMsg()
    if $iMsg = $idButton Then
        $iIndex += 1
        If $iIndex > $iTotal - 1 Then $iIndex = 0
        _WinAPI_DestroyIcon(_SendMessage($hIcon, $STM_SETIMAGE, 1, _WinAPI_ShellExtractIcon(@SystemDir & '\shell32.dll', $iIndex, 32, 32)))
    EndIf
Until $iMsg = $GUI_EVENT_CLOSE