Функция _GUICtrlHeader_GetItem

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


_GUICtrlHeader_GetItem

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

#include <GuiHeader.au3>
_GUICtrlHeader_GetItem($hWnd, $iIndex, ByRef $tItem)

Параметры

$hWnd Дескриптор элемента
$iIndex Индекс пункта, отсчёт от 0
$tItem Структура $tagHDITEM

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

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

Примечания

При выполнении функции, поле mask в структуре определяет какие поля должны возвращать информацию. При завершении функции, указанные поля содержат запрошенную информацию. Если поле mask равно 0, то функция возвращает True, но не копирует никакой информации в структуру.

См. также

_GUICtrlHeader_SetItem, $tagHDITEM

Пример

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

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

Global $iMemo

_Main()

Func _Main()
    Local $hGUI, $hHeader, $hImage, $tItem

    ; Создаёт 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()

    ; Создаёт список изображений с изображениями
    $hImage = _GUIImageList_Create (11, 11)
    _GUIImageList_Add ($hImage, _WinAPI_CreateSolidBitmap ($hGUI, 0xFF0000, 11, 11))
    _GUIImageList_Add ($hImage, _WinAPI_CreateSolidBitmap ($hGUI, 0x00FF00, 11, 11))
    _GUIImageList_Add ($hImage, _WinAPI_CreateSolidBitmap ($hGUI, 0x0000FF, 11, 11))
    _GUICtrlHeader_SetImageList ($hHeader, $hImage)

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

    ; Показывает индекс изображения 3-ей колонки
    $tItem = DllStructCreate($tagHDITEM)
    DllStructSetData($tItem, "Mask", $HDI_IMAGE)
    _GUICtrlHeader_GetItem ($hHeader, 2, $tItem)
    MemoWrite("Индекс изображения 3-ей колонки: " & DllStructGetData($tItem, "Image"))

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

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