在系统中动态创建TImage  Timge.Create(self),动态加载图片。
新创建的Timage的属性PopupMenu都设置为Pop1;Pop1的功能是更换图片,在Pop1Click中怎么知道目前操作的是那幅图片?
并把图片更换掉。

解决方案 »

  1.   

    case (Sender as TImage).tag of
      ...
    end;
      

  2.   

    你自己加载的图片,应该知道现在TIMAGE里面显示的是那张图片啊~~
      

  3.   

    name属性就是唯一的,tag属性也行,在Image的MouseDown事件用一个全局变量保存此值,Pop1Click时就可以判断了
      

  4.   

    var img : TImage
    begin
      img  := (TMenuItem(Sender).GetParentMenu as TPopupMenu).PopupComponent as TImage;
      ShowMessage(Img.Name);
    end
      

  5.   

    我知道显示的是那张图片,目前的困难是在用PopuMenu是,在onclick事件中怎么知道是那张图片。我的程序是这样的,在form画面中左边是TTreeView,右边是panel,在把treeview节点拖动到Panel上的同时,产生Timage,并加载图片,在Timage的PopuMenu属性值设为pop1(提前放在form上他控件)。pop1中只有一个菜单,就是更换图片。
      

  6.   


    Debug中发现Sender是空白 sender = ();