关于图片控件的一个问题
我想做一个图片窗口,需要这个窗口中的图片能够跟着
窗口的大小而改变大小.请高手指点。谢谢 我也琢磨这个问题呢。应该先获取窗口坐标。,然后图片用获取到的坐标修改 图片的坐标应该是个变量 新手!期待中顶一个!! 放在一个循环中,实时检测窗口的大小。
或者,注册WM_SIZE消息,当窗口大小发生改变时,截取此消息,$lParam的高位为窗口的宽度,低位设为高度。 #include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("窗体1", 410, 200, 300, 240, BitOR($WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SYSMENU, $WS_GROUP, $WS_TABSTOP))
$i = WinGetClientSize($Form1)
$Pic1 = GUICtrlCreatePic("g:\oem.jpg", 20, 20, $i - 40, 100)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
;Case $GUI_EVENT_MINIMIZE;最小化窗口按钮
Case $GUI_EVENT_RESTORE;还原窗口按钮
$i = WinGetClientSize($Form1)
GUICtrlSetPos($Pic1, 20, 20, $i - 40, 100)
Case $GUI_EVENT_MAXIMIZE;最大化窗口按钮
$i = WinGetClientSize($Form1)
GUICtrlSetPos($Pic1, 20, 20, $i - 40, 100)
EndSwitch
WEnd我只能帮你这样做了。也许P版有更好的办法 不知道LZ的具体应用,简单的用 GUICtrlSetResizing ( 控件ID, $GUI_DOCKAUTO) 就行了
;#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
GUICreate("窗体", 400, 300, -1, -1, $WS_MAXIMIZEBOX + $WS_MINIMIZEBOX + $WS_SIZEBOX)
$Picp = RegRead('HKLM\SOFTWARE\AutoIt v3\AutoIt', 'InstallDir') & '\Examples\GUI\msoobe.jpg'
GUICtrlCreatePic($Picp, 0, 0, 400, 300)
GUICtrlSetResizing(-1, $GUI_DOCKAUTO)
GUISetState()
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case -3
Exit
EndSwitch
WEnd 留到说不定那天用得到
:face (14): 回复 6# afan
谢谢afan版主和各位高手的指点。测试成功
页:
[1]