Ok I found I solution for the default share/link ones. I don't know if this is how I was doing it during tests the other week but it's working now. Replace the InitImageLists function with this one:
Also make the first line of EnsureOverlayCode:Private Sub InitImageLists() If IsComCtl6 = False Then himlTV = ImageList_Create(mIconSize, mIconSize, ILC_COLOR32 Or ILC_MASK, 1, 1) Dim clbk As Long OleTranslateColor clrBack, 0&, clbk ImageList_SetBkColor himlTV, clbk Else himlTV = ImageList_Create(mIconSize, mIconSize, ILC_COLOR32 Or ILC_MASK Or ILC_HIGHQUALITYSCALE, 1, 1) End If Call SHGetImageList(SHIL_JUMBO, IID_IImageList, imlSysJM) hSysIL = ObjPtr(imlSysJM) End Sub
If nIdx = -1 Then Exit Function
Shouldn't be letting it raise an error.
Haven't looked into the extended ones crashing yet. I stopped using them myself because, at least on my last Windows install, retrieving them was *painfully* slow. Like 10x the execution time slow.




Reply With Quote
