找回密码
 加入
搜索
查看: 3053|回复: 3

[GUI管理] 拖动子窗口标签时,移动父窗口 而非 子窗口?

[复制链接]
发表于 2012-7-2 12:16:12 | 显示全部楼层 |阅读模式
本帖最后由 冷玉公子 于 2012-7-2 20:33 编辑

代码如下,我的意思是想拖动这个Label标签时,移动父窗口,谢谢。

声明下,用循环检测不可以。因为子窗口的标签无法拖出主窗口。
Global $fGui = GUICreate("Search", 600, 600, -1, -1, BitOR(0x80880000, 0x00000200, 0x10000000)) ;创建主窗口
Global $zGui = GUICreate("", 300, 300 , 50, 50, BitOR(0x10000000,0x40000000), -1, $fGui) ;创建子窗体
GUISetBkColor(0xF9E029, $zGui) ;设置子窗体的默认背景色
GUICtrlSetDefBkColor(0x990000, $zGui) ;设置头部子窗体中所有控件的默认背景色
GUICtrlSetDefColor(0xFFFFFF, $zGui) ;设置头部子窗体中所有控件的默认字体颜色
Global $MYGUI_HEAD_LABEL = GUICtrlCreateLabel("托这里", 100, 135, 100 , 30, BitOR(0x01, 0x0200), 0x00100000) ;创建可拖动标签

While 1
        $MSG = GUIGetMsg()
        If $MSG = -3 Then ExitLoop
WEnd
发表于 2012-7-2 13:26:20 | 显示全部楼层
注册 WM_MOVING 消息
 楼主| 发表于 2012-7-2 20:29:49 | 显示全部楼层
测试过,不好用啊。
要么是我没有理解对,要么就方法还不是最好的。
代码如下:
GUIRegisterMsg(0x0216, "_MoveGui")

Global $fGui = GUICreate("Search", 600, 600, -1, -1, BitOR(0x80880000, 0x00000200)) ;创建主窗口
Global $zGui = GUICreate("", 300, 300 , 0, 0, BitOR(0x10000000,0x40000000), -1, $fGui) ;创建子窗体
GUISetBkColor(0xF9E029, $zGui) ;设置子窗体的默认背景色
GUICtrlSetDefBkColor(0x990000, $zGui) ;设置头部子窗体中所有控件的默认背景色
GUICtrlSetDefColor(0xFFFFFF, $zGui) ;设置头部子窗体中所有控件的默认字体颜色
Global $MYGUI_HEAD_LABEL = GUICtrlCreateLabel("托这里", 100, 135, 100 , 30, BitOR(0x01, 0x0200), 0x00100000) ;创建可拖动标签

GUISetState(@SW_SHOW, $fGui)
GUISetState(@SW_SHOW, $zGui)

While 1
        $MSG = GUIGetMsg()
        If $MSG = -3 Then ExitLoop
WEnd

Func _MoveGui()
        $zPosMsg = WinGetPos($zGui,"")
        WinMove($fGui, "", $zPosMsg[0] - 1, $zPosMsg[1] - 1)
        $fPosMsg = WinGetPos($fGui,"")
        WinMove($zGui, "", 0, 0)
EndFunc
发表于 2012-7-3 21:35:34 | 显示全部楼层
虽然不会!但是还是要帮你顶顶!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 15:22 , Processed in 0.150829 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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