菜鸟问题:怎么判断image中的图片有没有更新?谢谢

解决方案 »

  1.   

    var HasChanged: Boolean; //全局变量标识Image是否更新过
    var OldChangedEvent: TNotyfyEvent;procedure FormCreate(Sender: TObject);//窗口的OnCreate事件
    {
      OldChangedEvent := Image.Picture.OnChanged;
      Image.Picture.OnChanged := ImageChanged;
    }
    procedure ImageChanged(Sender: TObject);
    {
      HasChanged := True;
      if Assigned(OldChangedEvent) then
        OldChangedEvent(Sender);
    }手中没有Delphi,没有调试过,主要思想就是这样,有错误自己排下错就可以。
      

  2.   

    //同意楼上的方法,整理后如下,请参考:
    //....
    type
      TForm1 = class(TForm)
        Image1: TImage;
        procedure FormCreate(Sender: TObject);
    //....
      private
        FOldPictureChange: TNotifyEvent;
        procedure PictureChange(Sender: TObject);
      end;
    //....
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      FOldPictureChange := Image1.Picture.OnChange;
      Image1.Picture.OnChange := PictureChange;
    end;procedure TForm1.PictureChange(Sender: TObject);
    begin
      Caption := TimeToStr(Time); //测试用
      { TODO : 图片已经更新 }
      if Assigned(FOldPictureChange) then FOldPictureChange(Sender);
    end;
    //....