qq82015930 发表于 2011-3-8 00:38:51

【已解决】怎么取父窗口的坐标建立子窗口?

本帖最后由 qq82015930 于 2011-3-9 13:58 编辑

怎么取父窗口的坐标建立子窗口

就是父窗口不管移动到什么位置,点击出来的子窗口都在父窗口的中间.

#include <ButtonConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Form1", 442, 265, 192, 114)
$Button1 = GUICtrlCreateButton("Button1", 8, 0, 75, 25)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                Case $Button1
                        GUISetState(@SW_DISABLE, $Form1)
                     $Form2 = GUICreate('子窗口', 200, 200, -1, -1, $Form1)   ;这点的-1, -1, 是取父窗口$Form1的中心位置
                        WinSetOnTop("子窗口", "", 1)   
                        $Button22 = GUICtrlCreateButton("确定", 50, 80, 100, 30, 0)
                        GUISetState()
        EndSwitch
WEnd

要点击$Button1 才出来第二个窗口 第一个窗口不管移到什么位置在点$Button1第二个窗口都会是在第一个窗口的中间不是镶入第一个GUI,是面上.

happytc 发表于 2011-3-8 01:16:19

创建子窗口的函数中最后参数加上父参数的句柄

qq82015930 发表于 2011-3-8 12:51:24

创建子窗口的函数中最后参数加上父参数的句柄
happytc 发表于 2011-3-8 01:16 http://www.autoitx.com/images/common/back.gif


    能否举个列子.

happytc 发表于 2011-3-8 13:06:10


$hwd = GUICreate("Parent", 100, 100, 10, 10)
GUISetState()
$Pos = WinGetPos($hwd)
GUICreate("child",$Pos/2,$Pos/2,($Pos + $Pos)/2, ($Pos + $Pos)/2, -1,-1,$hwd)
GUISetState()
While 1
        Sleep(100)
WEnd

qq82015930 发表于 2011-3-8 16:50:42


happytc 发表于 2011-3-8 13:06 http://www.autoitx.com/images/common/back.gif


    谢谢~~~
我要的,是$Form2 = GUICreate('子窗口', 200, 200, -1, -1, $Form1)   ;这点的-1, -1, 是取父窗口$Form1的中心位置

3mile 发表于 2011-3-8 17:23:02

回复 5# qq82015930
怎么不知道变通呢?
$hwd = GUICreate("Parent", 400, 300, 10, 10)
GUISetState()
$Pos = WinGetPos($hwd)
GUICreate("child",200,200,$Pos/2, $Pos/2, 0x80880000,0x00000040 ,$hwd)
GUISetState()

While GUIGetMsg()<>-3
      Sleep(10)
WEnd
Exit

qq82015930 发表于 2011-3-9 13:36:42

回复qq82015930
怎么不知道变通呢?
3mile 发表于 2011-3-8 17:23 http://www.autoitx.com/images/common/back.gif


    我不是要这样的,是要点击$Button1 才出来第二个窗口 第一个窗口不管移到什么位置在点$Button1第二个窗口都会是在第一个窗口的中间

qq82015930 发表于 2011-3-9 13:58:40

回复qq82015930
怎么不知道变通呢?
3mile 发表于 2011-3-8 17:23 http://www.autoitx.com/images/common/back.gif


    谢谢,已经解决拉.

Srsly 发表于 2016-9-20 16:59:32

回复 8# qq82015930


    问下楼主,怎么解决的,分享下!!
页: [1]
查看完整版本: 【已解决】怎么取父窗口的坐标建立子窗口?