在TLabel的OnClick事件点击时可以用
(Sender as TLabel).Caption;
取得TLabel里的数据,
但如果是TImage
(Sender as TImage).
请问怎样才能取得图片的名称,比如点击图片1.jpg,点击后取得“1.jpg“这样的信息

解决方案 »

  1.   

    这样只能取image的名称。
    如果取原来图片的名字,那么在你load的时候,就应该记住。
    否则如果你是在属性窗口里指定的图片,那么你根本就不可能知道这个图片原来叫什么名字。
      

  2.   

    TImage保存的是图片格式。怎么能存string呢。。
    可以定义一个数组在打开图片的时候记到string数组里
      

  3.   

    看看 Image1.Picture.LoadFromFile();的實現過程procedure TPicture.LoadFromFile(const Filename: string);
    var
      Ext: string;
      NewGraphic: TGraphic;
      GraphicClass: TGraphicClass;
    begin
      Ext := ExtractFileExt(Filename);
      Delete(Ext, 1, 1);
      GraphicClass := FileFormats.FindExt(Ext);
      if GraphicClass = nil then
        raise EInvalidGraphic.CreateFmt(SUnknownExtension, [Ext]);  NewGraphic := GraphicClass.Create;
      try
        NewGraphic.OnProgress := Progress;
        NewGraphic.LoadFromFile(Filename);
      except
        NewGraphic.Free;
        raise;
      end;
      FGraphic.Free;
      FGraphic := NewGraphic;
      FGraphic.OnChange := Changed;
      Changed(Self);
    end;傳入 fileName 後, 只是簡單讀出, 并沒有保存, 所以, 是沒法得到的!!除非你LoadFromFile同時保存!