MSComctlLib TreeView ImageList Problem loading ImageList in TreeView


Recently Started working on MSComctlLib TreeView and ImageList

want to figure out how to use images in my TreeView, also how to set background to my TreeView object;

using C# windows application, writing addon for sap b1 which has ActiveX support.

so what I did
loaded MSComctlLib.TreeCtrl.2 object
loaded MSComctlLib.ImageListCtrl.2 object

code snippet for 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

then created IPictureDisp object using Microsoft.VisualBasic.Compatibility.VB6 namespace

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

but when I'm trying to add imgObj to ListImages getting

Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)) at MSComctlLib.IImages.Add(Object& Index, Object& Key, Object& Picture)

I want to create ListImage instance to use it in my TreeView ImageList. set background of TreeView but can't figure out how to make all this work.

looked in

Also tried using Resource file with images. This way getting invalid picture.

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

P.S. Is there any other alternative to ImageToIPictureDisp? because this library is already obsolete and working only on 32bit processes

asked on Stack Overflow Apr 10, 2020 by xurca

0 Answers

Nobody has answered this question yet.

User contributions licensed under CC BY-SA 3.0