从DLL中加载图片资源到图片控件
au3内置函数GUICtrlSetImage 只能设置DLL中的ico图标,对于bmp图片无能为力要给创建的图片控件加载DLL中的图片,可以使用API来达成要求
LoadLibraryA
LoadBitmap
SendMessage
FreeLibrary;~ By Crossdoor
;~ 从DLL文件中加载图片到图片控件
;~ _SetBitmap(DLL名称, 图片编号, 控件句柄)
;~ 成功返回1
;~ 示例:
;~ $pic = GUICtrlCreatePic("", 0, 0, 640, 480, 0x04000000)
;~ _SetBitmap('Res.dll', '#143', $pic)
Func _SetBitmap($sDll, $sBitmap, $hwnd)
$LoadLibraryA = DllCall("Kernel32.dll", "hwnd", "LoadLibraryA", "str", $sDll)
If @error Then Return SetError(@error, 0, 0)
$LoadBitmap = DllCall("User32.dll", "hwnd", "LoadBitmap", "hwnd", $LoadLibraryA, "str", $sBitmap)
If @error Then Return SetError(@error, 0, -1)
DllCall("user32.dll", "lparam", "SendMessage", "hwnd", GUICtrlGetHandle($hwnd), "int", 0x0172, "wparam", 0, "lparam", $LoadBitmap)
If @error Then Return SetError(@error, @extended, "")
DllCall("Kernel32.dll", "hwnd", "FreeLibrary", "hwnd", $LoadLibraryA)
Return 1
EndFunc 这个很简洁啊,谢谢~ 初学,进入收藏一下。不管怎样。谢谢 好东西,,要学学 这个东西不错哦,很强 {:face (411):}太好用了,居然调用EXE图片都支持!爽歪歪。 so good..thanks!!!! 这个东西不错哦,很强 发个dll样板上来看看? 新手学习学习 回复 1# 298311657
正需要,谢谢了! 受教了,非常感谢! 受教了,非常感谢,感谢 这个很好啊,支持一下 谢谢楼主分享提供
页:
[1]
2