Play .AVI file in TPanel

{//////////////////////////////////////////////////////////////
 This sample shows how to play .AVI-file in TPanel component.
 Note that TMediaPlayer component is hidden and we use our own
 buttons to Play, Pause/Continue and Stop movie.
//////////////////////////////////////////////////////////////}
unit AVIUnit;
interface
uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  MPlayer, StdCtrls, ExtCtrls, ComCtrls;
type
  TForm1 = class(TForm)
    MediaPlayer1: TMediaPlayer;
    Button1: TButton;
    Panel1: TPanel;
    Button2: TButton;
    Button3: TButton;
    TrackBar1: TTrackBar;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure TrackBar1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
  TheLength: LongInt;
begin
With MediaPlayer1 do
  Begin
   DeviceType := dtAVIVideo;
   TimeFormat := tfFrames;
   Open;
   FileName := 'd:\welcome.avi';
{
}
   TrackBar1.Max := Frames;
   TheLength := Length;
   Display := Panel1;
   DisplayRect := Rect(10,10, Panel1.Width-20,Panel1.Height-20);
   Play;
  End;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
 If (Sender As TButton). Caption = 'Pause' Then
   (Sender As TButton). Caption := 'Continue';
 If (Sender As TButton). Caption = 'Continue' Then
   (Sender As TButton). Caption := 'Pause';
 MediaPlayer1.Pause;
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
 MediaPlayer1.Stop;
 Panel1.Refresh;
end;
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 With MediaPlayer1 do
  Begin
   StartPos := TrackBar1.Position;
   Play;
  End;
end;
end.