找回密码
 加入
搜索
查看: 2137|回复: 4

[AU3基础] 绘制的没有标题栏的窗口,怎么拖动窗口?

[复制链接]
发表于 2011-5-24 09:47:54 | 显示全部楼层 |阅读模式
如:$main = GUICreate("Test",500,100,-1,-1,$WS_POPUP + $WS_SIZEBOX)

怎么让鼠标在这个窗口的任何地方按住左键都可以拖动这个窗口?
GUICtrlCreateLabel("Move",28,28,32,20,$SS_BLACKFRAME,$GUI_WS_EX_PARENTDRAG)

加$GUI_WS_EX_PARENTDRAG时可以拖动,但这个样式只能给Label或图片加呀,也就是只能点住这个Label才能拖动。
发表于 2011-5-24 10:24:52 | 显示全部楼层
#include <GUIConstantsEx.au3>
#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <winapiex.au3>
#include <Process.au3>
Opt('MustDeclareVars', 1)
Global $gui
Example()

Func Example()
        Local $checkCN, $msg
        $gui=GUICreate("My GUI Checkbox",-1,-1,-1,-1,$WS_POPUP + $WS_SIZEBOX)
        $checkCN = GUICtrlCreateGroup ("CHECKBOX 1", 10, 10, 200, 60, 0x0009)
        GUISetState()       ; will display an  dialog box with 1 checkbox
        GUIRegisterMsg(0x0084, "WM_NCHITTEST")
        While 1
                $msg = GUIGetMsg()
                
                Switch $msg
                        case -3
                                Exit
                        Case $checkCN
                                msgbox(0,0,"ok")
                EndSwitch
        WEnd
EndFunc   ;==>Example
Func WM_NCHITTEST($hWnd, $iMsg, $iwParam, $ilParam)
        If ($hWnd = $gui) and ($iMsg = $WM_NCHITTEST) then Return $HTCAPTION;
EndFunc
发表于 2011-5-24 15:39:49 | 显示全部楼层
顺便问一下 如果还要实现右键菜单,双击出主窗口,是不是要注册WM_NCRBUTTONUP和WM_NCLBUTTONDBLCLK
 楼主| 发表于 2011-5-25 23:04:37 | 显示全部楼层
回复 2# 3mile


    谢了,粗粗试了下,不错。
不过,好象又有点问题了,就是$WS_SIZEBOX不管用了,也就是不能拖窗口大小了
发表于 2011-5-26 10:54:08 | 显示全部楼层
本帖最后由 3mile 于 2011-5-26 11:11 编辑
回复  3mile


    谢了,粗粗试了下,不错。
不过,好象又有点问题了,就是$WS_SIZEBOX不管用了,也就 ...
happytc 发表于 2011-5-25 23:04

请移步:http://www.autoitx.com/thread-24958-1-1.html
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-14 14:39 , Processed in 0.092340 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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