| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- unit ImagePanelForActiveX;
- interface
- uses
- GIFImage, Graphics, Windows,
- SysUtils, Classes, Controls, ExtCtrls;
- type
- TImagePanelForActiveX = class(TPanel)
- private
- FImage: TImage;
- procedure SetPicture(Value: TPicture);
- function GetPicture: TPicture;
- protected
- { Protected declarations }
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- procedure LoadFromFile(AFileName: String);
- published
- property Picture: TPicture read GetPicture write SetPicture;
- end;
- procedure Register;
- implementation
- //------------------------------------------------------------------------------
- procedure TImagePanelForActiveX.SetPicture(Value: TPicture);
- begin
- FImage.Picture.Assign(Value);
- end;
- //------------------------------------------------------------------------------
- function TImagePanelForActiveX.GetPicture: TPicture;
- begin
- Result := FImage.Picture;
- end;
- //------------------------------------------------------------------------------
- procedure TImagePanelForActiveX.LoadFromFile(AFileName: String);
- var
- GIFImage: TGIFImage;
- begin
- if AnsiSameText(ExtractFileExt(AFileName), '.GIF') then
- begin
- GIFImage := TGIFImage.Create;
- try
- GIFImage.Animate := False;
- GIFImage.LoadFromFile(AFileName);
- FImage.Picture.Bitmap.Assign(GIFImage.Bitmap);
- finally
- GIFImage.Free;
- end;
- end
- else
- begin
- FImage.Picture.LoadFromFile(AFileName);
- end;
- FImage.Refresh;
- Width := FImage.Width;
- Height := FImage.Height;
- end;
- //------------------------------------------------------------------------------
- constructor TImagePanelForActiveX.Create(AOwner: TComponent);
- begin
- inherited Create(AOwner);
- Caption := '';
- Color := $00FFFFFF;
- DoubleBuffered := True;
- BevelInner := bvNone;
- BevelOuter := bvNone;
- FImage := TImage.Create(Self);
- FImage.Parent := Self;
- FImage.Enabled := False;
- FImage.Left := 0;
- FImage.Top := 0;
- FImage.AutoSize := True;
- end;
- //------------------------------------------------------------------------------
- destructor TImagePanelForActiveX.Destroy;
- begin
- FreeAndNil(FImage);
-
- inherited Destroy;
- end;
- procedure Register;
- begin
- RegisterComponents('RealICQ UI', [TImagePanelForActiveX]);
- end;
- end.
|