Что нового

[Элементы GUI] добавление изображения в Combobox

johnmarshall

Осваивающий
Сообщения
192
Репутация
35
добрый день)
прошу помочь, кучу примеров пересмотрел, не получается добавить изображение в ComboBox в скомпиллированом файле.
читал про ресурсы в Autoit и про _WinAPI_LoadImage, все-равно что-то не получается.
Добавляет, только если иконка рядом с файлом (3 вариант).
Подозреваю, что можно добавить иконку как ресурс, а потом перевести ее в $Image
подскажите пожалуйста. пробую делать так:
Код:
#cs ------------------------------------------------------------------------
    Версия AutoIt:  3.3.8.1
    Автор:          myName
    Описание:       Шаблон программы на языке AutoIt
#ce ------------------------------------------------------------------------

; Код программы

#AutoIt3Wrapper_Res_Icon_Add=a.ico
#AutoIt3Wrapper_Res_Icon_Add=b.ico

#include <GUIConstants.au3>
#include <GUIComboBoxEx.au3>
#include <GUIImageList.au3>
#Include <WinAPIEx.au3>

$hMainGUI = GUICreate("ComboBox With Icons", 300, 150)

$hComboBox = _GUICtrlComboBoxEx_Create($hMainGUI, "", 20, 60, 260, 390, $CBS_DROPDOWNLIST)

$hImageList = _GUIImageList_Create(16, 16, 5, BitOr($ILC_MASK, $ILC_COLOR32), 1)
_GUICtrlComboBoxEx_SetImageList($hComboBox, $hImageList)

$hInstance = _WinAPI_GetModuleHandle(1)
$hBitmap = _WinAPI_LoadBitmap($hInstance, 201)
$nImage = _GUIImageList_AddIcon($hImageList, $hBitmap)
_GUICtrlComboBoxEx_AddString($hComboBox, "Icon " & 1, $nImage, $nImage)

$nImage = _GUIImageList_AddIcon($hImageList, @ScriptFullPath, 202)
_GUICtrlComboBoxEx_AddString($hComboBox, "Icon " & 2, $nImage, $nImage)

$nImage = _GUIImageList_AddIcon($hImageList, @ScriptDir & '\b.ico', 0)
_GUICtrlComboBoxEx_AddString($hComboBox, "Icon " & 3, $nImage, $nImage)
GUISetState()

While 1
    Switch GUIGetMsg()
		Case $GUI_EVENT_CLOSE
			_WinAPI_DeleteObject($hBitmap)
            _GUIImageList_Destroy($hImageList)
            Exit
    EndSwitch
WEnd
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
damien2008 [?]
Добавляет, только если иконка рядом с файлом (3 вариант).
Второй вариант сработает если использовать -201.
 

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,673
Репутация
2,486
madmasles [?]
У меня и с -201, и с 4 сработало.
Всё верно, первое это имя ресурса, а второе это индекс (хотя странно что указание имени с - тоже подходит).
 
Верх