MnM
Post-Hardcore
- Сообщения
- 679
- Репутация
- 90
Здравствуйте, на сей раз у меня вопрос к данным элементам:
как приложить каждую иконку из листа изображений к кнопке, если иконок к примеру - 10 и кнопок столько же и для каждой кнопки иную иконку. Пример из сапорта "вроде" бы понятно но не слишком, там как понимаю создается ~2 листов изображений. Меня интересует как бы это можно сделать немого компактней без лишних манипуляций.
Добавлено:
Немного пораскинув серым веществом, покопался в сапортовском примере "соорудив" подобный скрипт:
Снова немного не задачка, в первую кнопку не вставляется изображение :(
Добавлено:
Просьба извинить, это у меня промашка вышла с массивами)
тема решена
Код:
_GUIImageList_Create() and _GUIImageList_AddIcon()
_GUICtrlButton_Create() and _GUICtrlButton_SetImageList()
как приложить каждую иконку из листа изображений к кнопке, если иконок к примеру - 10 и кнопок столько же и для каждой кнопки иную иконку. Пример из сапорта "вроде" бы понятно но не слишком, там как понимаю создается ~2 листов изображений. Меня интересует как бы это можно сделать немого компактней без лишних манипуляций.
Добавлено:
Сообщение автоматически объединено:
Немного пораскинув серым веществом, покопался в сапортовском примере "соорудив" подобный скрипт:
Код:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <guibutton.au3>
#include <guiimagelist.au3>
Dim $Button[4], $Position[4] = [0, 32, 64], $icolist[4] = ["44.ico", "12.ico", "10603.ico"]
$Window = GUICreate("Form1", 111, 552, 886, 42)
For $i = 0 To 3
$Button[$i] = GUICtrlCreateButton('', 0, $Position[$i], 32, 32)
Next
For $k = 0 To 3
setimagelist($Button[$k], $icolist[$k])
Next
GUISetState(@SW_SHOW, $Window)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Func setimagelist(ByRef $buttons, ByRef $icon)
Local $listim
$listim = _GUIImageList_Create(26, 26, 5)
_GUIImageList_AddIcon($listim, $icon)
_GUICtrlButton_SetImageList($buttons, $listim, 4)
EndFunc
Снова немного не задачка, в первую кнопку не вставляется изображение :(
Добавлено:
Сообщение автоматически объединено:
Просьба извинить, это у меня промашка вышла с массивами)
Код:
Global $Button[3], $Position[3] = [0, 32, 64], $icolist[3] = ["44.ico", "12.ico", "10603.ico"] ; обьявление не по 4 а по 3 надо (1-ая позиция в массиве уходит на 0 т.е. от 0)
_ArrayDisplay($icolist)
$Window = GUICreate("Form1", 111, 552, 886, 42)
For $i = 0 To 2 ;и тут в циклах по всей видимости не то выходило =)
$Button[$i] = GUICtrlCreateButton('', 0, $Position[$i], 32, 32)
Next
For $k = 0 To 2
setimagelist($Button[$k], $icolist[$k])
Next
тема решена