hamze Posted September 15, 2014 Share Posted September 15, 2014 unit Convert To 32 Bitmap UniImage List Remove the round black icon unit ConvertTo32BitImageList; interface uses SysUtils, Graphics, Classes, Controls, ImgList, CommCtrl, Consts, uniImageList; procedure AddIconToUniImageList32bit(CountIcon: Integer; aUniImageList: TUniImageList); implementation procedure P_ConvertTo32BitImageList(const ImageList: TImageList); const Mask: array [Boolean] of Longint = (0, ILC_MASK); var TemporyImageList: TImageList; begin if Assigned(ImageList) then begin TemporyImageList := TImageList.Create(nil); try TemporyImageList.Assign(ImageList); with ImageList do begin ImageList.Handle := ImageList_Create(Width, Height, ILC_COLOR32 or Mask[Masked], 0, AllocBy); if not ImageList.HandleAllocated then begin raise EInvalidOperation.Create(SInvalidImageList); end; end; ImageList.AddImages(TemporyImageList); finally TemporyImageList.Free; end; end; end; procedure AddIconToUniImageList32bit(CountIcon: Integer; aUniImageList: TUniImageList); var ICO: Ticon; i: Integer; ImgList: TImageList; begin ImgList:=TImageList.Create(nil); try ImgList.Clear; P_ConvertTo32BitImageList(ImgList); for i := 0 to CountIcon do begin ICO := Ticon.Create; try if FileExists(ExtractFilePath(ParamStr(0))+'pic\' + IntToStr(i) + '.ico') then ICO.LoadFromFile(ExtractFilePath(ParamStr(0))+'pic\' + IntToStr(i) + '.ico') else exit; ImgList.AddIcon(ICO); finally ICO.Free; end; end; aUniImageList.Assign(ImgList); finally ImgList.Free; end; end; end. uses: AddIconToUniImageList32bit(3, UniImageList1); ShowMessage(IntToStr(UniImageList1.Count)); for i := 0 to 3 do begin UniTreeView1.items[i].ImageIndex := -1; // add this UniTreeView1.items[i].ImageIndex := UniImageList1.Count - UniImageList1.Count+i; end; 1 Quote Link to comment Share on other sites More sharing options...
billyChou Posted September 15, 2014 Share Posted September 15, 2014 Thanks Quote Link to comment Share on other sites More sharing options...
KingOrmon Posted September 23, 2014 Share Posted September 23, 2014 this works like png alpha ? Quote Link to comment Share on other sites More sharing options...
hamze Posted September 23, 2014 Author Share Posted September 23, 2014 Only tested on the icon file Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.