小弟在做一个delphi程序时,利用一个数据类型是Timage的一维数组在窗体的Panel组件上动态生成了若干个小的图标,图标的Hint属性是图标的名称(已经动态生成),各图标和一个弹出菜单连接。运行时我想在鼠标点向某一个动态生成的图标后,通过右键打开弹出菜单执行弹出菜单命令,在该命令里需要用到鼠标指定的图标的名字,小弟不知怎么获得,百思不解,请高手回复。本人QQ:496178453有对delphi感兴趣的也可以交流

解决方案 »

  1.   

    在动态生成IMAGE的时候对鼠标事件进行处理   for i := 0 to High(images) do
       begin
          images[i] := Timage.Create(nil);
          images[i].parent := Panel1;
           ....
          images[i].onclick := .....//你的处理程序   end   然后你的处理程序里procedure Tform1.myimageclick(sender:tobject....);
                         begin
                            timage(sender).hint....//这个了
      

  2.   

    可能我没有说清楚,在我的弹出菜单命令里,首先要得到鼠标指定的图标的名字,然后要以该名字作为一个查询条件,在数据库中查找与该图标相关的数据。
        在此首先对NetFly的热心帮助表示感谢,但是NetFly介绍的方法只对鼠标左键响应,不能对鼠标右键响应。如何能对右键响应呢?
      

  3.   

    netfly能否说清楚些, onmousedown试过,但我在传递参数时总出错,能否给个小实例