yhxhappy 发表于 2011-11-26 00:04:35

[已解决]$WS_CHILD 样式子窗口用 WinMove 移动后会消失,什么办?

本帖最后由 yhxhappy 于 2011-11-26 09:38 编辑

下面是代码,请大家帮忙分析分析!谢谢!
如果实在不能解决,我就用 $WS_POPUP 样式的子窗口了。#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

$Gui = GUICreate("主窗口", 600, 400)
GUISetBkColor(0xdcdcdc)
$btn = GUICtrlCreateButton("移动子窗口", 420, 50, 100, 30)

GUISetState()

$Gui2 = GUICreate("子窗口", 350, 250, 50, 50, $WS_CHILD, "", $GUI)
GUISetBkColor(0xffffff)
GUICtrlCreateLabel("这是子窗口", 10, 10, 100, 20)
GUISetState()


While 1
        $Msg = GUIGetMsg()
        Switch $Msg
        Case -3
                Exit
        Case $btn
                WinMove($Gui2, "", 600, 400, 20, 20)                ;移动子窗口
        EndSwitch
WEnd

lixiaolong 发表于 2011-11-26 02:37:47

回复 1# yhxhappy

$WS_CHILD 只能在父窗口上显示吧?

netegg 发表于 2011-11-26 03:12:45

分析什么,楼主这个子窗体把主窗体覆盖了,点击按钮后显示的就是子窗体

yhxhappy 发表于 2011-11-26 09:38:15

不好意思,是我自己把WinMove的参数整错了

3mile 发表于 2011-11-26 09:48:51

主窗口座标X,Y是相对于屏幕座标
子窗口座标X,Y是相对于主窗口
第22行改为:WinMove($Gui2, "", 20, 20, 350, 250)
页: [1]
查看完整版本: [已解决]$WS_CHILD 样式子窗口用 WinMove 移动后会消失,什么办?