如何调用位图资源显示到gui上[已解决]
我添加了一张位图到exe资源中,如图:然后在gui上添加一个图片控件,目的是想把资源中的位图显示到gui上:
$Pic1 = GUICtrlCreatePic("", 0, 0, 261, 49)
guictrlsetdata($Pic1,"????????")
这个地方不知道是不是这么调用,我试了n多方法,就是实现不了,请有研究过的朋友帮忙说下方法,谢谢了! #include <WinAPI.au3>
#include <Constants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Const $STM_SETIMAGE = 0x172
$hGUI = GUICreate("Test", 400, 300)
$hStatic = _WinAPI_CreateWindowEx(0, "Static", "", BitOR($WS_CHILD, $WS_VISIBLE, $SS_BITMAP), 5, 5, 0, 0, $hGUI, 1)
$pLibrary = _WinAPI_LoadLibrary("cryptui.dll")
$hBitmap = _WinAPI_LoadImage($pLibrary, 4103, $IMAGE_BITMAP, 0, 0, $LR_DEFAULTSIZE)
_SendMessage($hStatic, $STM_SETIMAGE, $IMAGE_BITMAP, $hBitmap)
_WinAPI_FreeLibrary($pLibrary)
GUISetState()
While GUIGetMsg() <> -3
WEnd #include <GDIPlusEx.au3>
Local $hInst, $hBitmap
$hGUI = GUICreate("Resource Example", 400, 350)
GUISetState()
_GDIPlus_Startup()
$hGraphics = _GDIPlus_GraphicsCreateFromHWND($hGUI)
$hInst = _WinAPI_LoadLibrary(@SystemDir & "\taskmgr.exe")
$hBitmap = _GDIPlus_BitmapCreateFromResource($hInst, 103)
_GDIPlus_GraphicsDrawImage($hGraphics, $hBitmap, 20, 20)
While GUIGetMsg() + 3
WEnd
_GDIPlus_ImageDispose($hBitmap)
_WinAPI_FreeLibrary($hInst)
_GDIPlus_GraphicsDispose($hGraphics)
_GDIPlus_Shutdown()
学习了,收藏先 gOOD~gOOD~ 本帖最后由 haijie1223 于 2011-6-13 18:04 编辑
回复 2# pusofalse
p版 因为我的exe文件是自己的au3文件编译的,用#AutoIt3Wrapper_Res_File_Add=winrarsc.bmp,位图,1223加进去的位图,用你的方法调用不成功。不知道是我临摹有误,还是这个方法,不适合这样添加进去的位图资源。 回复 3# 3mile
3m谢谢你的代码不过我试了一下,提示缺少GdiPlusEx.au3这个udf
于是从论坛搜索下载了一个,提示很多错误。
如:
ERROR: $tagDTTOPTS previously declared as a 'Const'
";int BorderSize;int FontPropId;int ColorPropId;int StateId;int ApplyOverlay;int GlowSize;ptr DrawTextCallback;int lParam;"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
D:\autoit3\Include\GDIPlusEx.au3(1037,41) : ERROR: $DTT_TEXTCOLOR previously declared as a 'Const'
Global Const $DTT_TEXTCOLOR = 0x00000001
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
请3m分享一下这个udf吧谢谢 不好意思,应该附上相关函数的.
现在翻回来看当年的问题好幼稚,接贴吧 发哥,问题解决了吗。。。{:face (411):} 回复 10# 862228699
当然解决了, 以前还比较菜,都是些菜鸟问题而已。 多谢楼主多谢了 这个非常值得学习!
页:
[1]