Для менюшек использую стандартные картинки из 1crcrus.dll.
Поэтому таскаю их в разные обработки, используя конструкцию
Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("Картинки");
Таб.ВывестиСекцию("НаборИконок");
.
.
.
Pics[1] = Система.ПолучитьOLEКартинку(Картинка, 0);
.
.
.
Предлагаю другой вариант: дергаем битмапы напрямую из dll
hInstance = Wrap.LoadLibrary("1crcrus.dll");
hImageList = Wrap.ImageList_LoadImage(hInstance, "#147", 16, 20, 1, 0, 4 * 16);
// Одна картинка по любому нужна :(
Путь = "c:\temp\02\Icon_1.ico";
Pic = ScrptCtrl.Eval("LoadPicture(""" + Путь + """)");
oКартинки = СоздатьОбъект("MSComctlLib.ImageListCtrl");
For j = 1 To Wrap.ImageList_GetImageCount(hImageList) Do
oКартинки.ListImages.Add(j, "", Pics[1]);
hIcon = Wrap.ImageList_GetIcon(hImageList, j, 0);
Wrap.ImageList_ReplaceIcon(oКартинки.hImageList, j - 1, hIcon);
EndDo;
В этой конструкции приходится использовать кукую-нить иконку для шаблона, иначе не удается (у меня не получилось) переписать картинки из одного ImageList в другой.