冷玉公子 发表于 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

afan 发表于 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 - 1, $zPosMsg - 1)
        $fPosMsg = WinGetPos($fGui,"")
        WinMove($zGui, "", 0, 0)
EndFunc

hxming 发表于 2012-7-3 21:35:34

虽然不会!但是还是要帮你顶顶!
页: [1]
查看完整版本: 拖动子窗口标签时,移动父窗口 而非 子窗口?