_GUICtrlComboBoxEx_SetItemEx
Устанавливает некоторые или все атрибуты пункта
#include <GuiComboBoxEx.au3>
_GUICtrlComboBoxEx_SetItemEx($hWnd, ByRef $tItem)
Параметры
$hWnd | Дескриптор элемента |
$tItem | Структура $tagCOMBOBOXEXITEM |
Возвращаемое значение
Успех: | Возвращает True |
Ошибка: | Возвращает False |
Примечания
Чтобы установить атрибуты пункта необходимо задать значения элементам структуры $tagCOMBOBOXEXITEM, указав индекс пункта.См. также
_GUICtrlComboBoxEx_GetItemEx, _GUICtrlComboBoxEx_SetItem, $tagCOMBOBOXEXITEMПример
#include <GuiComboBoxEx.au3>
#include <GuiImageList.au3>
#include <GUIConstantsEx.au3>
$Debug_CB = False ; Проверяет ClassName передаваемый в ComboBox/ComboBoxEx функции. Установите True и используйте дескриптор от другого элемента, чтобы увидеть как это работает
_Main()
Func _Main()
Local $hGUI, $hImage, $iImage, $tItem, $hCombo
; Создаёт GUI
$hGUI = GUICreate("Устанавливает атрибуты пункта", 400, 300)
$hCombo = _GUICtrlComboBoxEx_Create ($hGUI, "", 2, 2, 394, 100)
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)
_GUICtrlComboBoxEx_InitStorage ($hCombo, 150, 300)
_GUICtrlComboBoxEx_BeginUpdate ($hCombo)
For $x = 0 To 149
$iImage = Random(0, 8, 1)
_GUICtrlComboBoxEx_AddString ($hCombo, StringFormat("%03d : Рандомная строка", Random(1, 100, 1)), $iImage, $iImage)
Next
_GUICtrlComboBoxEx_EndUpdate ($hCombo)
; Изменяет пункт 2
MsgBox(4160, "Информация", "Изменение пункта 2")
$tItem = DllStructCreate($tagCOMBOBOXEXITEM)
DllStructSetData($tItem, "Mask", $CBEIF_INDENT) ; Изменяемый параметр (отступ)
DllStructSetData($tItem, "Item", 1) ; Индекс изменяемого пункта
DllStructSetData($tItem, "Indent", 2) ; Установка величины отступа
_GUICtrlComboBoxEx_SetItemEx ($hCombo, $tItem)
Do
Until GUIGetMsg() = $GUI_EVENT_CLOSE
EndFunc ;==>_Main