MSComctlLib TreeView ImageList Проблема загрузки ImageList в TreeView - PullRequest
0 голосов
/ 10 апреля 2020

Недавно начал работать над MSComctlLib TreeView и ImageList

хочу выяснить, как использовать изображения в моем TreeView, а также как установить фон для моего объекта TreeView;

с использованием C# windows приложение, пишущее дополнение для sap b1 с поддержкой ActiveX.

, что я и сделал
загружен объект MSComctlLib.TreeCtrl.2
загружен объект MSComctlLib.ImageListCtrl.2

фрагмент кода для ImageList

var type = Type.GetTypeFromProgID("MSComctlLib.ImageListCtrl.2");
var inst = Activator.CreateInstance(type) as MSComctlLib.ImageList;

var image = Image.FromFile("Images/folder.bmp"); //tried with .png as well

затем создал объект IPictureDisp с использованием пространства имен Microsoft.VisualBasi c .Compatibility.VB6

var imgObj = Support.ImageToIPictureDisp(image);
inst.ListImages.Add(ref ind, ref key, imgObj1); //here getting error

, но когда я пытаюсь добавить imgObj в ListImages, получая

Ошибка катастрофы c (Исключение из HRESULT: 0x8000FFFF (E_UNEXPECTED)) в MSComctlLib.IImages.Add (объект и индекс, объект и ключ, объект и изображение)

I хочу создать экземпляр ListImage, чтобы использовать его в моем TreeView ImageList. установить фон TreeView, но не могу понять, как заставить все это работать.

посмотрел в http://www.virtualsplat.com/tips/visual-basic-treeview-control.asp

Также попытался использовать файл ресурсов с изображениями. Таким образом получается недопустимое изображение.

object ind = 1;
object key = "1";
inst.ListImages.Add(ref ind, ref key, Properties.Resource.folder_bmp);

PS Есть ли другая альтернатива ImageToIPictureDisp? потому что эта библиотека уже устарела и работает только на 32-битных процессах

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...