UDF > WinAPIEx > Menus & Resources > Icons >


_WinAPI_LoadIconWithScaleDown

Charge une icône et diminue une image grande plutôt que d'augmenter une image petite

#include <WinAPIIcons.au3>
_WinAPI_LoadIconWithScaleDown ( $hInstance, $sName, $iWidth, $iHeight )

Paramètres

$hInstance Handle du module DLL ou exécutable (.exe) qui contient l'icône à charger.
$sName L'information sur l'icône à charger. Si $hInstance n'est pas 0, $sName spécifie la ressource icône par son nom ou son numéro d'ordre, sinon, $sName spécifie le nom d'un fichier icône autonome (.ico) ou l'identifiant d'une icône prédéfinie à charger.
    $IDI_APPLICATION
    $IDI_HAND
    $IDI_QUESTION
    $IDI_EXCLAMATION
    $IDI_ASTERISK
    $IDI_WINLOGO
    $IDI_SHIELD
    $IDI_ERROR
    $IDI_INFORMATION
    $IDI_WARNING
$iWidth La largeur souhaitée, en pixels, de l'icône.
$iHeight La hauteur désirée, en pixels, de l'icône.

Valeur de retour

Succès: Retourne le handle de l'icône.
Échec: Retourne 0 et définit @error <> 0, @extended contient le code d'erreur HRESULT.

Remarques

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

Cette fonction nécessite Windows Vista ou une version ultérieure.

En relation

_WinAPI_DestroyIcon

Voir aussi

Consultez LoadIconWithScaleDown dans la librairie MSDN.

Exemple

#include <GUIConstantsEx.au3>
#include <MsgBoxConstants.au3>
#include <SendMessage.au3>
#include <StaticConstants.au3>
#include <WinAPIIcons.au3>
#include <WinAPISys.au3>

If Number(_WinAPI_GetVersion()) < 6.0 Then
    MsgBox(BitOR($MB_ICONERROR, $MB_SYSTEMMODAL), 'Erreur', 'Requiert Windows Vista ou une version ultérieure.')
    Exit
EndIf

GUICreate('Test '& StringReplace(@ScriptName, '.au3', '()'), 324, 324)
GUICtrlCreateIcon('', 0, 64, 64, 196, 196)
Global $h_Icon = GUICtrlGetHandle(-1)
GUISetState(@SW_SHOW)

Global $hIcon = _WinAPI_LoadIconWithScaleDown(0, @ScriptDir & '\Extras\Soccer.ico', 196, 196)
Global $hPrev = _SendMessage($h_Icon, $STM_SETIMAGE, 1, $hIcon)
If $hPrev Then
    _WinAPI_DestroyIcon($hPrev)
EndIf

Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE