Я приложил проект.
Вместо них ресурсы.
Метод создающий imageList:
X++:
// создает ImageList на основе контейнера, переданных ресурсов
static ImageList createImageList(container _con)
{
ImageList imageList = new ImageList( ImageList::smallIconWidth(),ImageList::smalliconHeight());
Image image = new Image();
ResourceNode resourceNode;
int i;
gm_reportFolders folders = gm_reportFolders::find(curUserId());
str file, aos_file;
;
if ((folders.RecId != 0) && (folders.Icons == gm_reportIcons::None)) return imageList;
if ((folders.RecId != 0) && (folders.Icons == gm_reportIcons::Directory))
{
for (i=1; i<=conlen(_con); i++)
{
file = gm_reportSettingsTable::getTempFolder() + '\\' + conpeek(_con, i) + '.png';
aos_file = gm_reportIconDeployer::aos_directory() + conpeek(_con, i) + '.png';
if (!WinApi::fileExists(file))
gm_reportIconDeployer::saveFileOnClient(file, gm_reportIconDeployer::getFileFromServer(aos_file));
image.loadImage(file);
imageList.add(image);
}
return imageList;
}
for (i=1; i<=conlen(_con); i++)
{
resourceNode = SysResource::getResourceNode(conpeek(_con, i));
resourceNode.AOTload();
image.setData(SysResource::getResourceNodeData(resourceNode));
imageList.add(image);
}
return imageList;
}
Метод надо будет упростить. Сейчас он пытается загрузить картинки из ресурсов, а если не получается, выгружает их с сервера в каталог пользователя.
Цитата:
код метода changeImage
Тут все примитивно. Это уже было в setPercent().
X++:
void changeImage(int _idx, int _image)
{
FormListItem item;
;
item = listCtrl.getItem(_idx);
item.image(_image);
listCtrl.setItem(item);
WinApi::updateWindow(element.hWnd());
}
Цитата:
3. GM_containerCollection, GM_ContainerEnumerator (я помню кто-то где-то выкладывал уже, но не нашел).
Есть в проекте. Iterator с коллекцией выкладывал я, Enumerator мне подарили