Y si nos ponemos a simplificar, ni siquiera hace falta crear visualmente ningún Form2, lo podemos hacer por código:
Pongo toda la unit de ejemplo para mostrar como asigno el evento OnKeyDown que llamo
FullScreenKeyDown
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, StdCtrls, MPlayer, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
MediaPlayer1: TMediaPlayer;
OpenDialog1: TOpenDialog;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure Panel1DblClick(Sender: TObject);
procedure FullScreenKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
private
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
MediaPlayer1.FileName:= OpenDialog1.FileName;
MediaPlayer1.Open;
end;
end;
procedure TForm1.Panel1DblClick(Sender: TObject);
var
Form2: TForm;
begin
Form2:= TForm.Create(self);
Form2.BorderStyle:= bsNone;
Form2.WindowState:= wsMaximized;
Form2.KeyPreview:= true;
Form2.OnKeyDown:= FullScreenKeyDown;
MediaPlayer1.Display:= Form2;
MediaPlayer1.DisplayRect:= Rect(0, 0, Screen.Width, Screen.Height);
Form2.ShowModal();
MediaPlayer1.Display:= Panel1;
Form2.Free;
end;
procedure TForm1.FullScreenKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
const
VK_ESCAPE = $1B;
begin
if Key = VK_ESCAPE then Close;
end;
end.
Saludos.