函数参考


_WinAPI_LoadIconWithScaleDown

加载了图标并按比例缩减较大图像;而不是按比例放大小图像.

#Include <WinAPIEx.au3>
_WinAPI_LoadIconWithScaleDown ( $hInstance, $sName, $iWidth, $iHeight )

参数

$hInstance 包含图标模块的 DLL 或可执行(.exe)文件句柄.
$sName 被加载图标的信息.如果 $hInstance 不为 0,$sName 使用名称或序号指定图标资源,
 否则,$sName 指定图标文件(.ico)的名称或预定义图标标识符.
 $IDI_APPLICATION --- 默认的应用程序图标
 $IDI_ASTERISK --- 相同于 IDI_INFORMATION
 $IDI_ERROR --- 手形图标
 $IDI_EXCLAMATION --- 相同于 IDI_WARNING
 $IDI_HAND --- 相同于 IDI_ERROR
 $IDI_INFORMATION --- 星号图标
 $IDI_QUESTION --- 问号图标
 $IDI_SHIELD --- 安全盾牌图标
 $IDI_WARNING --- 感叹号图标
 $IDI_WINLOGO --- Windows 徽标图标,Windows XP中为默认应用程序图标
$iWidth 图标宽度的像素值.
$iHeight 图标高度的像素值.

返回值

成功: 返回图标的句柄.
失败: 返回 0,设置 @error 标志为非 0 值, @extended 标志可能包含一个系统错误代码.

注意/说明

本函数需要 Windows Vista 或更高版本系统.

相关

详情参考

在MSDN中搜索


示例/演示


#Include <WinAPIEx.au3>

Opt('MustDeclareVars', 1)

Global Const $STM_SETIMAGE = 0x0172

If _WinAPI_GetVersion() < '6.0' Then
    MsgBox(16, 'Error', 'Require Windows Vista or later.')
    Exit
EndIf

Global $Icon, $hIcon, $hPrev

GUICreate('MyGUI', 324, 324)
GUICtrlCreateIcon('', 0, 64, 64, 196, 196)
$Icon = GUICtrlGetHandle(-1)
GUISetState()

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

Do
Until GUIGetMsg() = -3