_GUICtrlComboBoxEx_GetItemEx
Извлекает некоторые или все атрибуты пункта
#include <GuiComboBoxEx.au3>
_GUICtrlComboBoxEx_GetItemEx($hWnd, ByRef $tItem)
Параметры
$hWnd | Дескриптор элемента |
$tItem |
Структура $tagCOMBOBOXEXITEM, которая определяет информацию для извлечения |
Возвращаемое значение
Успех: | Возвращает True |
Ошибка: | Возвращает False |
См. также
_GUICtrlComboBoxEx_GetItem, _GUICtrlComboBoxEx_SetItemEx, $tagCOMBOBOXEXITEMПример
#include <GuiComboBoxEx.au3>
#include <GuiImageList.au3>
#include <GUIConstantsEx.au3>
$Debug_CB = False ; Проверяет ClassName передаваемый в ComboBox/ComboBoxEx функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
Global $iMemo
_Main()
Func _Main()
Local $hGUI, $hImage, $tItem, $sText, $iLen, $hCombo
; Создаёт GUI
$hGUI = GUICreate("Получает атрибуты пункта", 400, 300)
$hCombo = _GUICtrlComboBoxEx_Create ($hGUI, "", 2, 2, 394, 100)
$iMemo = GUICtrlCreateEdit("", 2, 32, 396, 266, 0)
GUICtrlSetFont($iMemo, 9, 400, 0, "Courier New")
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)
_GUIImageList_Add ($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap ($hCombo, 0xFF0000, 16, 16))
_GUIImageList_Add ($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap ($hCombo, 0x00FF00, 16, 16))
_GUIImageList_Add ($hImage, _GUICtrlComboBoxEx_CreateSolidBitMap ($hCombo, 0x0000FF, 16, 16))
_GUICtrlComboBoxEx_SetImageList ($hCombo, $hImage)
For $x = 0 To 8
_GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("%03d : Рандомная строка", Random(1, 100, 1)), $x, $x)
Next
; Устанавливает отступ пункта
_GUICtrlComboBoxEx_SetItemIndent ($hCombo, 1, 1)
; Создаёт структуру
$tItem = DllStructCreate($tagCOMBOBOXEXITEM)
; Устанавливает маску Mask, данные которые необходимо извлечь
DllStructSetData($tItem, "Mask", BitOR($CBEIF_IMAGE, $CBEIF_INDENT, $CBEIF_LPARAM, $CBEIF_SELECTEDIMAGE, $CBEIF_OVERLAY))
; Устанавливает индекс пункта, который необходимо извлечь
DllStructSetData($tItem, "Item", 1)
_GUICtrlComboBoxEx_GetItemEx ($hCombo, $tItem)
$iLen = _GUICtrlComboBoxEx_GetItemText ($hCombo, 1, $sText)
MemoWrite('Текст пункта .......... : "' & $sText & '"')
MemoWrite('Длина текста пункта ..........................: ' & $iLen)
MemoWrite('Отступ пункта в изображениях ................ : ' & DllStructGetData($tItem, "Indent"))
MemoWrite('Индекс пункта изображения, отсчёт от 0 ...... : ' & DllStructGetData($tItem, "Image"))
MemoWrite('Индекс пункта изображения state, отсчёт от 0..: ' & DllStructGetData($tItem, "SelectedImage"))
MemoWrite('Индекс пункта изображения overlay, отсчёт от 0: ' & DllStructGetData($tItem, "OverlayImage"))
MemoWrite('Ассоциативное значение пункта ............... : ' & DllStructGetData($tItem, "Param"))
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main
; Записывает строку в элемент для заметок
Func MemoWrite($sMessage)
GUICtrlSetData($iMemo, $sMessage & @CRLF, 1)
EndFunc ;==>MemoWrite