?

解决方案 »

  1.   

    imagelist好像不行,我要随时显示。
      

  2.   

    動態創建image一個一個排列把
      

  3.   

    对了,你还没说你想实现什么呢?
    什么叫随时显示?
    放在IMAGELIST中,也可以随时显示啊。
      

  4.   

    我原来想用DrawGrid,但显示出来以后,Grid一旦刷新,图标就消失了。
    后来我用listView,它各方面都好,但是速度有点慢,并且图标大小不好控制。
      

  5.   

    我的意思就是从exe、dll、ico中找到图标后,立刻显示到界面,让用户随时可以看到。
      

  6.   

    我看你还是放在LISTVIEW里比较好
      可以随时看,动态的编辑
      

  7.   

    放在TIcon里面,用TList存储所有TIcon事例!什么时候想显示都可以。
      

  8.   

    显示的时候放在TListview里面,设置vsStyle=vsicon//好像是这个名字
      

  9.   

    放在TListBox元件中, 将Style设为lbOwnerDrawVariable,增加图标名称和图标:
      ListBox1.AddItem(IconName, Icon);
    在TlistBox.OnDrawItem写代码:procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
      Rect: TRect; State: TOwnerDrawState);
    begin
      with (Control as TListBox) do
      begin
        ImageList1.Draw(Canvas, Rect.Left + 2, Rect.Top, Index);
        Canvas.TextOut(Rect.Left + 24, Rect.Top + 2, Items[Index]);
      end;
    end;
      

  10.   

    补充:
      设置TListBoxd的ItemWidth和ItemHeight为图标高度(32)
      

  11.   

    不好意思,应将
      ImageList1.Draw(Canvas, Rect.Left + 2, Rect.Top, Index);
    改为
      Canvas.Draw(Rect.Left + 2, Rect.Top, TBitmap(Items.Object[Index]));