我只用一个image控件,
但是当点击自定义增加菜单的时候,我想增加一个图标,
下面这种方法可否实现上面的功能:
var
  icon1:Ticon;
  hh:longint;
begin
  icon1:=Ticon.Create;
  try
    icon1.LoadFromFile('C:\Documents and Settings\Administrator\My Documents\My Pictures\112.ico');
    hh:= icon1.Handle;
    Drawicon(image2.Canvas.Handle,0,0,hh);
  except
  end;
end;改变Drawicon(image2.Canvas.Handle,0,0,hh);中的坐标就可以增加一个图标吗?
改变坐标只能改变image2的位置吧?能不能增加一个图标!!

解决方案 »

  1.   

    是不是如果要增加一个图标,先要用image.create(owner)创建控件啊?怎么创建控件啊?
    这个问题好困惑!
      

  2.   

    不知道你说什么DrawIcon(Image2.Canvas, Handle, 0, 0, hh);
    中的坐标是指你在Imagew2的Canvas中画这个图标的位置, 另外的icon1没有释放
      

  3.   

    菜单上要加的话,用imageList,加上
      

  4.   

    很简单的意思:
    我在窗体上用了一个image 控件和一个按纽,
    当我点击增加按纽,我想在窗体上增加一个图标,
    当我再点击一下按纽,又增加一个图标,就这么简单,上面的方法能实现吗?
      

  5.   

    Drawicon(image2.Canvas.Handle,0,0,hh);
    其中的0、0就是坐标,表示在画布的什么位置上输出图标上个帖子还没有结呢:)
      

  6.   

    图标大小不致呢
    可以考虑用ListView试试,  ViewStyle 为 vsIcon;再用一个imageList与它关联上就OK了;
    ImageList1.AddIcon(icon1);
      

  7.   

    还是未解决上面的问题。
    只能增加一个图标,但我要增加第2个图标的时候,
    第一图标就没了,是不是一定要用多个 image 控件?或者用 image2.create(Timage(i))数组来实现呢?
    如果用一个 image控件能实现,请指明!
      

  8.   

    var
      icon1:Ticon;
      hh:longint;
    begin
      icon1:=Ticon.Create;
      try
        icon1.LoadFromFile('C:\Documents and Settings\Administrator\My Documents\My Pictures\112.ico');
        ImageList1.AddIcon(icon1);
      finally
         icon1.Free;
      end;
    end;
      

  9.   

    没有用imagelist,我现在用的是Image控件!
    上面的没用,我释放icon1又有什么用呢,还是不能在窗体上创建一个新图标。
    能用类生成一个新的image控件吗?能生成的话就达到目的了!在线等待!
      

  10.   

    var
    image:Timage;
    调用
        image.create(Timage(0))
    或者image.creat2(owner);方法都出错。
    错误为一个组件已经存在了。
      

  11.   

    自动生成Timgae控件:
    var
      img : TImage;
      i : integer;
    begin//  i := 0;
    for i := 0 to 10 do begin
      with TImage.Create(self) do  begin
        parent := form1;
        name := 'img' + inttostr(i);
        top := 100;
        left := i * 10;
        stretch := true;
        picture.LoadFromFile('c:\my documents\bbbb.bmp');
      end;
    end;
    //  i := i + 1;
    end;
    你把一些参数修改一下就行了。