⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 scren.~pas

📁 一个delphi制作的mp3播放器!
💻 ~PAS
字号:
unit scren;
           
interface

uses       
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls,mplayer;

type
  TForm2 = class(TForm)
    Panel1: TPanel;
    procedure FormCreate(Sender: TObject);
    procedure FormResize(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ResizeDefine(WinState:tWindowState;Pane:TPanel;Form:TFOrm);
    procedure Panel1DblClick(Sender: TObject);
    procedure Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure FormDblClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
  private
    { Private declarations }
  public
    procedure DragFileScr(var message:Tmessage); message Wm_dropFiles;
    procedure WmClDbclk(var message:Tmessage);message WM_NCLBUTTONDBLCLK;//捕捉双击标题栏的消息
  end;

var
  Form2: TForm2;
  Widsav,heisav,ScreenDb:integer;//HeiSav,Widsav保存Form 改变前的width,Height值!
  Form2Max:boolean;//ScreenDb表示是否双击了视频窗体
implementation
 uses main, FulScreen,shellAPi, Playlist;
{$R *.dfm}

procedure tForm2.ResizeDefine(WinState:tWindowState;Pane:TPanel;Form:TForm);
begin
     Form1.MediaPlayer1.Display:=Pane;
     if Form1.MediaPlayer1.Mode=Mpplaying then
         begin   
             if Form=form5 then//表示现在是视频窗体
                  begin//注意  screen 的 巧 用
                     Form1.MediaPlayer1.DisplayRect:=
                          rect(0,0,screen.Width,screen.Height);
                     //Form3.Caption:='fdsafsda';
                  end
             Else
                 begin  
                     {Play_Size1.Left :=0; Play_Size1.Top :=0;
                     Play_Size1.Right:=form.Width;//为得到合适尺寸
                     Play_Size1.Bottom:=Form.height;注意 ClientRect 的巧用}
                     Form1.MediaPlayer1.DisplayRect:=Form.ClientRect;
                  end
         end;
end;

procedure TForm2.DragFileScr(var message:Tmessage);
begin
    if message.Msg=Wm_dropFiles  then
        Form3.WmDragFile( message);
end;

procedure TForm2.WmClDbclk(var message:Tmessage);//捕捉双击标题栏的消息
var
  Sender:Tobject;
begin//注意此消息的巧用
    Form2.Panel1DblClick(Sender);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
   dragAcceptFiles(Form2.Handle,true);
   if Form2.Visible=True then
        Widsav:=Width;
        HeiSav:=height;
end;

procedure TForm2.FormResize(Sender: TObject);
begin
  if Form1.LockScr.Checked then //若锁定了频幕
     begin
        if Width<>WidSav then
            begin
                 WidSav:=Width;
                 Height:=round(Width*0.75);
            end;
        if Height<>Heisav then
             begin
                 HeiSav:=Height;
                 Width:=round(heisav*1.33333);
                 exit;
            end;
        end;
     Form2.ResizeDefine(Form2.WindowState,Form2.Panel1,Form2);
end;
procedure TForm2.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin  //注意 KeyPreView为 true,
  //caption:=IntTostr(ord('R'));
  case key of
    vk_F11:
       begin
          Form1.Show;//切换到主窗体
          ShowFor1:=True;
       end;
    32://播放/暂停切换
        Form1.PauseClick();
    Vk_Next:
       Form1.StepImClick(Sender);
    VK_Prior:
       Form1.BackImClick(Sender);
    VK_escape://全屏/窗口切换
       Form2.Panel1DblClick(Sender);
    vk_f1:
     begin//调用 '请先读我.doc'时,用Fileexists比较好,而不用自定义的FileFind
      if Fileexists(ExtractFilePath(Application.ExeName)+('请先读我.doc')) then
           shellExecute(handle,'open',pchar(ExtractFilePath(Application.ExeName)+'请先读我.doc'),
               nil,nil,Sw_showNormal)
       else
          begin
             if FileFind(ExtractFilePath(Application.ExeName)+('请先读我.txt')) then
                 shellExecute(handle,'open',pchar(ExtractFilePath(Application.ExeName)+'请先读我.txt'),
                     nil,nil,Sw_showNormal);//正确打开返回 42
          end;
      end;
     end;
   if (ssctrl in Shift) then
   begin
      case Key of
         Vk_next:
           Form1.NexClick(Sender);//播放下一曲
         Vk_prior:
           Form1.NexClick(Sender);//播放是上一曲,关联下一曲
         ord('R'):
           Form1.DoAgainClick(Sender);
      end;
   end;
end;

procedure TForm2.Panel1DblClick(Sender: TObject);
begin
   Form2.Visible:=not Form2.Visible;
   Form5.Visible:=not Form5.Visible;
end;

procedure TForm2.Panel1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin   //(Form,LbName1,MoreFilNameLb1)
     dragPos:=Form;//获得鼠标的位置 
end;

procedure TForm2.FormDblClick(Sender: TObject);
begin
     Panel1DblClick(sender);
end;

procedure TForm2.FormShow(Sender: TObject);
begin
    Form2.ResizeDefine(Form2.WindowState,Form2.Panel1,Form2);
    Form2.BorderStyle:=bsSizeable;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -