Функция GUISetCoord

         Описание функции


GUISetCoord

Устанавливает абсолютные координаты для следующего элемента управления

GUISetCoord ( left, top [, width [, height [, winhandle ]]] )

Параметры

left Левая координата.
top Правая координата.
width [необязательный] Ширина (по умолчанию предыдущая ширина).
height [необязательный] Высота (по умолчанию предыдущая высота).
winhandle [необязательный] Дескриптор окна, возвращённый функцией GUICreate() (по умолчанию ранее использованное).

Возвращаемое значение

Успех:Возвращает 1.
Ошибка:Возвращает 0.

Примечания

Используйте опции Opt ("GUICoordMode", 2). Это позволяет установить текущее положение на конкретную позицию и использовать позицию для создания новых элементов по строкам (x_offset,-1) или по столбцам (-1, y_offset).

См. также

GUICtrlCreate...

Пример

#include <GUIConstantsEx.au3>

Example1()
Example2() ; пример был GUICtrlCreateLabel

Func Example1()
    Local $msg

    Opt("GUICoordMode", 2) ; режим относительных координат

    GUICreate("My GUI Set Coord", 200, 100)
    GUICtrlCreateCheckbox("Check #1", 20, 10, 75)
    GUICtrlCreateCheckbox("Notify #2", 10, -1) ; следующий столбец той же строки

    GUISetCoord(20, 60)

    GUICtrlCreateButton("OK #3", -1, -1)
    GUICtrlCreateButton("Cancel #4", 10, -1)
    GUICtrlSetState(-1, $GUI_FOCUS)

    GUISetState() ; показывает созданное окно

    ; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
    While 1
        $msg = GUIGetMsg()

        If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    WEnd
    GUIDelete()
EndFunc

Func Example2()
    Local $widthCell, $msg, $iOldOpt

    GUICreate("Режим относительных координат") ; Создаёт окно в центре экрана

    GUISetHelp("notepad.exe") ; запускает блокнот, если нажата клавиша F1
    $iOldOpt = Opt("GUICoordMode", 2) ; режим относительных координат

    $widthCell = 110
    GUICtrlCreateLabel("Строка1,Столбец1", 10, 30, $widthCell) ; первый столбец шириной 70 пиксель
    GUICtrlCreateLabel("Строка2,Столбец1", -1, 0) ; следующая строка
    GUICtrlCreateLabel("Строка3,Столбец2", 0, 0) ; следующая строка и следующий столбец
    GUICtrlCreateLabel("Строка3,Столбец3", 0, -1) ; следующий столбец той же строки
    GUICtrlCreateLabel("Строка4,Столбец1", -3 * $widthCell, 0) ; следующая строка Столбец1

    GUISetState() ; показывает созданное окно

    ; Запускается цикл опроса GUI до тех пор пока окно не будет закрыто
    Do
        $msg = GUIGetMsg()
    Until $msg = $GUI_EVENT_CLOSE

    $iOldOpt = Opt("GUICoordMode", $iOldOpt)
    GUIDelete()
EndFunc