var
  HI: THandle;
  IcnFile: string;
  IconIndex: word;
begin
IconIndex := 0;
HI := ExtractAssociatedIcon(hInstance, PChar(IcnFile), IconIndex);
imgIconImage.Picture.Icon.Handle := HI;
end;

解决方案 »

  1.   

    win32 api : ExtractIconEx
      

  2.   

    [Error] Unit1.pas(64): Undeclared identifier: 'ExtractAssociatedIcon'为什么会出现这样错误??
      

  3.   

    引用下面的单元:
    uses ShellApi;
      

  4.   

    var
      HI: THandle;
      IcnFile: string;
      IconIndex: word;
    begin
    IconIndex := 0;
    HI := ExtractAssociatedIcon(hInstance, PChar(IcnFile), IconIndex);
    end;
    这样得到的好象是hicon类型的图标
    我想把这个图标显示在treeview的树形目录里,
    应该怎么实现啊
      

  5.   

    那就加到TImageList中去。
    aIcon := TIcon.Create;
    aIcon.Handle := HI;
    index := imageList1.AddIcon(aIcon);
    然后给TreeView的Item设ImageIndex。
      

  6.   

    还有一个小问题,
    TImageList需要先和TTreeView联系起来吗?
      

  7.   

    HI := ExtractAssociatedIcon(hInstance, PChar(IcnFile), IconIndex);
    aIcon := TIcon.Create;
    aIcon.Handle := HI;
    index := imageList1.AddIcon(aIcon);
    treeview1.Images := imagelist1;这样显示出来的都是windows的那种无法识别的图标,
    是不是少了什么步骤啊
    帮忙啊