找回密码
 加入
搜索
查看: 3044|回复: 6

[AU3基础] [已解决]:AU3制作一个form窗体,禁止左右移动,只允许上下移动

  [复制链接]
发表于 2010-2-25 17:01:52 | 显示全部楼层 |阅读模式
本帖最后由 dnbj2010 于 2010-2-25 21:02 编辑

在下初来论坛,刚注册不久,有事请教各位高手。我用AU3作了一个窗体,默认情况下,这个窗体可以随意的拖动。现在我需要将此窗体禁止左右移动,让它只能上下移动。已苦思多时,还是无法解决。

#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 633, 454, 193, 115)
$Label1 = GUICtrlCreateLabel("让此窗体不能左右移动 可以上下移动", 64, 72, 483, 33)
GUICtrlSetFont(-1, 22, 400, 0, "宋体")
GUICtrlSetBkColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit

        EndSwitch
WEnd
发表于 2010-2-25 18:22:00 | 显示全部楼层
#include <WindowsConstants.au3>
#include <StructureConstants.au3>

$hGUI = GUICreate("Test", 400, 300, 200, 100, 0x70000) ; 0x70000 = Resizable

GUISetState()
GUIRegisterMsg(0x216, "WM_MOVING")
GUIRegisterMsg($WM_SIZING, "WM_MOVING")

While GUIGetMsg() <> -3
WEnd

Func WM_MOVING($hWnd, $iMsg, $iwParam, $ilParam)
        Local $tBuffer = DllStructCreate($tagRECT, $ilParam)
        DllStructSetData($tBuffer, "Left", 200)
        DllStructSetData($tBuffer, "Right", 600)
        $tBuffer = 0
        Return 1
EndFunc        ;==>WM_MOVING

评分

参与人数 2金钱 +90 贡献 +20 收起 理由
afan + 50 + 10 厉害、佩服
gapkiller + 40 + 10 强大!!!!!

查看全部评分

发表于 2010-2-25 20:40:46 | 显示全部楼层
呵呵,楼上正解
 楼主| 发表于 2010-2-25 20:50:11 | 显示全部楼层
这么快?版主真厉害,佩服。
没有白来,论坛真的有高人。学习中。
发表于 2010-5-21 12:23:15 | 显示全部楼层
禁止FORM左右移动  留脚印专用  以备以后查阅
发表于 2013-12-21 13:13:13 | 显示全部楼层
用这个方法可以做个只能在指定范围内移动的窗口
发表于 2013-12-21 21:04:52 | 显示全部楼层
我也多学习了一样,没有白来一次。继续努力……
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 15:27 , Processed in 0.084385 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表