问题是这样的,我想在鼠标点击image中的图片时,能在图片上鼠标点击处绘制一个图标(或加载一个图标),不知怎么实现这个功能,我曾经用过image.canvas.draw,但是不行,哪位大侠帮帮我吧。这个问题已经困扰我好多天了。
    谢谢各位关注。

解决方案 »

  1.   

    这个我也试过了,但是总是出错,出错信息为:cannot modify an image if it contains a bitmap
      

  2.   

    DELPHI 7 测试通过
    procedure TForm1.FormCreate(Sender: TObject);
    var
    b:Tbitmap;
    begin
    b:=Tbitmap.Create;
    b.LoadFromFile(c:\test.bmp');
    Image1.Canvas.CopyRect(Image1.Canvas.ClipRect,b.Canvas,b.Canvas.ClipRect);
    b.Free;
    end;procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    begin
     Image1.Canvas.Ellipse(X-5,Y-5,X+5,Y+5);
    end;
      

  3.   

    那怎么在一个事件中调用formcreate过程呀
      

  4.   

    汗...我只是演示一下代码,你完全可以把FormCreate事件重新写成一个过程啊
      

  5.   

    呵呵,本人刚学delphi不久,所有很多东西是不清楚的
      

  6.   

    除了用这种方法还有什么好的方法呀?比如说,如果我在图标处显示一些信息,当鼠标移开此处是让这些信息不显示。我用canvas.textout但是不能消除信息
      

  7.   

    如2楼的办法
    在上面再创建一个image