ChildGUI

    • Offizieller Beitrag

    Ich verstehe das Problem nicht so ganz...

    Meinst Du so:

    [autoit]


    $hMainGui = GUICreate('Main', 640, 480)
    GUISetState()
    $aPos = WinGetPos($hMainGui)
    Dim $ahChildGui[5]
    For $i = 0 To 4
    $ahChildGui[$i] = GUICreate('Child ' & $i, 200, 100, 10 + $aPos[0] + $i * 30, 30 + $aPos[1] + $i * 30, Default, Default, $hMainGui)
    GUISetState()
    Next

    [/autoit][autoit][/autoit][autoit]

    Do
    Until GUIGetMsg() = -3

    [/autoit]
    • Offizieller Beitrag

    Mit WM_MOVE:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    $hMainGui = GUICreate('Main', 640, 480)
    GUISetState()

    [/autoit] [autoit][/autoit] [autoit]

    GUIRegisterMsg($WM_MOVE, 'WM_MOVE')
    $aPos = WinGetPos($hMainGui)
    Dim $ahChildGui[5]
    For $i = 0 To 4
    $ahChildGui[$i] = GUICreate('Child ' & $i, 100, 100, 10 + $aPos[0] + $i * 110, $aPos[1] + 380, $WS_POPUP, Default, $hMainGui)
    GUISetBkColor('0x' & Hex($i * 32, 2) & Hex($i * 32, 2) & Hex($i * 32, 2))
    GUICtrlCreateLabel('Child ' & $i, 0, 0, 100, 100, Default, $GUI_WS_EX_PARENTDRAG)
    GUICtrlSetColor(-1, 0xFFFF00)
    GUISetState()
    Next

    [/autoit] [autoit][/autoit] [autoit]

    Do
    Until GUIGetMsg() = -3

    [/autoit] [autoit][/autoit] [autoit]

    Func WM_MOVE($hWnd, $msg, $wParam, $lParam)
    If $hWnd = $hMainGui Then
    Local $aPos = WinGetPos($hMainGui)
    For $i = 0 To 4
    WinMove($ahChildGui[$i], '', 10 + $aPos[0] + $i * 110, $aPos[1] + 380)
    Next
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]