Функция _GUICtrlHeader_SetOrderArray

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


_GUICtrlHeader_SetOrderArray

Устанавливает текущий порядок пунктов слева-направо

#include <GuiHeader.au3>
_GUICtrlHeader_SetOrderArray($hWnd, ByRef $aOrder)

Параметры

$hWnd Дескриптор элемента
$aOrder Массив, указывающий порядковую позицию для пунктов в заголовке:
    [0] - Количество элементов в массиве
    [1] - Порядковая позиция пункта с индексом 0
    [2] - Порядковая позиция пункта с индексом 1
    [n] - Порядковая позиция пункта с индексом n

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

Успех:Возвращает True
Ошибка:Возвращает False

См. также

_GUICtrlHeader_GetOrderArray

Пример

#include <GUIConstantsEx.au3>
#include <GuiHeader.au3>

$Debug_HDR = False ; Проверяет ClassName передаваемый в функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает

Global $iMemo

_Main()

Func _Main()
    Local $hGUI, $hHeader, $aOrder[5] = [4, 3, 1, 2, 0]

    ; Создаёт GUI
    $hGUI = GUICreate(StringTrimRight(@ScriptName, 4), 400, 300)
    $hHeader = _GUICtrlHeader_Create ($hGUI)
    _GUICtrlHeader_SetUnicodeFormat ($hHeader, True)
    $iMemo = GUICtrlCreateEdit("", 2, 24, 396, 274, 0)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUISetState()

    ; Добавляет колонки
    _GUICtrlHeader_AddItem ($hHeader, "Колонка 1", 100)
    _GUICtrlHeader_AddItem ($hHeader, "Колонка 2", 100)
    _GUICtrlHeader_AddItem ($hHeader, "Колонка 3", 100)
    _GUICtrlHeader_AddItem ($hHeader, "Колонка 4", 100)

    ; Устанавливает порядок используя массив
    _GUICtrlHeader_SetOrderArray ($hHeader, $aOrder)

    ; Показывает порядок используя массив
    $aOrder = _GUICtrlHeader_GetOrderArray ($hHeader)
    For $i = 1 To $aOrder[0]
        MemoWrite("Индекс: " & $i-1 & ", его порядковая позиция: " & $aOrder[$i] & ' (' & _GUICtrlHeader_GetItemText ($hHeader, $i-1) & ')')
    Next

    ; Цикл выполняется, пока окно не будет закрыто
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc   ;==>_Main

; Записывает строку в элемент для заметок
Func MemoWrite($sMessage)
    GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc   ;==>MemoWrite