Ver Mensaje Individual
  #12  
Antiguo 24-10-2015
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
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
    { Private declarations }
  public
    { Public declarations }
  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.
Responder Con Cita