Функция _GUICtrlTab_GetItem

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


_GUICtrlTab_GetItem

Получает информацию о вкладке

#include <GuiTab.au3>
_GUICtrlTab_GetItem($hWnd, $iIndex)

Параметры

$hWnd Дескриптор или идентификатор элемента
$iIndex Индекс вкладки, отсчёт от 0

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

Успех: Возвращает массив следующего формата:
        [0] - Флаги состояния пункта:
        $TCIS_BUTTONPRESSED - Вкладка выбрана/нажата
        $TCIS_HIGHLIGHTED - Вкладка подсвечена
        [1] - Текст язычка вкладки
        [2] - Индекс изображения вкладки (отсчёт от 0) или -1, если вкладка не имеет изображения
        [3] - Ассоциативное значение

См. также

_GUICtrlTab_SetItem

Пример

#include <GUIConstantsEx.au3>
#include <GuiTab.au3>
#include <WinAPI.au3>
#include <GuiImageList.au3>
#include <WindowsConstants.au3>

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

Global $iMemo

_Main()

Func _Main()
    Local $aItem, $hTab, $hImage, $tab0

    ; Создаёт GUI
    GUICreate("Получает информацию о вкладке", 500, 300)
    $hTab = GUICtrlCreateTab(2, 2, 496, 296, $TCS_BUTTONS)
    GUISetState()

    ; Создаёт изображения
    $hImage = _GUIImageList_Create(16, 16, 5, 3)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 110)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 131)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 165)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 168)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 137)
    _GUIImageList_AddIcon($hImage, @SystemDir & "\shell32.dll", 146)
    _GUICtrlTab_SetImageList($hTab, $hImage)

    ; Вставляет вкладки
    $tab0 = GUICtrlCreateTabItem("Вкладка 0")
    $iMemo = GUICtrlCreateEdit("", 4, 28, 490, 265)
    GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
    GUICtrlCreateTabItem("Вкладка 1")
    GUICtrlCreateTabItem("Вкладка 2")
    GUICtrlCreateTabItem("Вкладка 3")
    GUICtrlCreateTabItem("Вкладка 4")
    GUICtrlCreateTabItem("")
    GUICtrlSetState($tab0, $GUI_SHOW)

    ; Установить / получить информацию вкладок
    _GUICtrlTab_SetItem($hTab, 0, -1, -1, 2)
    _GUICtrlTab_SetItem($hTab, 1, -1, -1, 4)
    _GUICtrlTab_SetItem($hTab, 2, "Новый текст", BitOR($TCIS_BUTTONPRESSED, $TCIS_HIGHLIGHTED), 5)
    _GUICtrlTab_SetItem($hTab, 3, -1, $TCIS_BUTTONPRESSED, 0)
    _GUICtrlTab_SetItem($hTab, 4, -1, $TCIS_HIGHLIGHTED, 1)
    GUISetState(@SW_LOCK)
    For $x = 0 To 4
        $aItem = _GUICtrlTab_GetItem($hTab, $x)
        MemoWrite("Индекс вкладки " & $x & @CRLF & "---------------------")
        For $y = 0 To 3
            MemoWrite("$aItem[" & $y & "]: " & $aItem[$y])
        Next
        MemoWrite(@CRLF & "---------------------")
    Next
    GUISetState(@SW_UNLOCK)

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

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