トップへ戻る

Autoitプログラミング

子ウィンドウの作成

まずメインウィンドウを作成し、その中に子ウィンドウを作成します。
さらに子ウィンドウの中に子子ウィンドウ(計3つのウィンドウ)を作成します。

 

各ウィンドウに対して必ず* $GUI_EVENT_CLOSEに対しての条件つき命令文を書きましょう。
*無限ループに陥り、終了できなくなります。

 

$GUI_EVENT_CLOSEは、定義したボタンやメニュー、×ボタンでダイアログボックス(ウィンドウ)が閉じられたというイベントID。
$GUI_EVENT_CLOSEを使用するには、GUIConstantsEx.au3をインクルドする必要があります。

 


#include <GUIConstantsEx.au3>

 

;~ メインウィンドウ
$Gui = GUICreate("メインウィンドウ", 320, 120)
$btn1 = GUICtrlCreateButton("子ウィンドウを開く", 10, 40, 300, 20)
GUISetState()

 

While 1

 

    $msg = GUIGetMsg()
    Select
        Case $msg = $btn1
;~          子ウィンドウ - 開始
            $Gui2 = GUICreate("子ウィンドウ", 270, 300, -1, -1, -1, -1, $Gui)
            $btn2 = GUICtrlCreateButton("子子ウィンドウを開く", 10, 40, 150, 20)
            GUISetState()

 

            While 1
                $msg2 = GUIGetMsg()
                Select
                    Case $msg2 = $GUI_EVENT_CLOSE
                        GUIDelete($Gui2)
                        ExitLoop
                    Case $msg2 = $btn2
;~                   子子ウィンドウ - 開始
                        $Gui3 = GUICreate("子子ウィンドウ", 350, 100, -1, -1, -1, -1, $Gui2)
                        GUISetState()

 

                        While 1
                            $msg3 = GUIGetMsg()
                            Select
                                Case $msg3 = $GUI_EVENT_CLOSE
                                    GUIDelete($Gui3)
                                    ExitLoop
                            EndSelect
                        WEnd
;~                   子子ウィンドウ - ここまで

 

                EndSelect
            WEnd
;~          子ウィンドウ - ここまで

 

        Case $msg = $GUI_EVENT_CLOSE
            ExitLoop
    EndSelect
WEnd