📄 displayscr.pas
字号:
begin
checkMenuItem(GetSystemMenu(Handle,False),idMyFunc,MF_CHECKED)
end;
procedure TFrmDisplayScr.N1Click(Sender: TObject);
begin
checkMenuItem(GetSystemMenu(Handle,False),idMyFunc,MF_UNCHECKED)
end;
procedure TFrmDisplayScr.FormMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (Button=mbLeft) then
begin //进入移动状态
SendMessage(self.Handle,WM_LBUTTONUP,0,0);
SendMessage(self.Handle,WM_NCLBUTTONDOWN,HTCaption,0);
end;
end;
procedure TFrmDisplayScr.TitleBarDblClick(Sender: TObject);
begin
if winstate=fstnormal then
begin
//记下初始大小
winWidth:=self.Width ;
winHeight:=self.Height;
winTop:=self.Top;
winLeft:=self.Left;
//进入最大化
self.Width :=screen.Width;
self.Height :=screen.Height;
self.Top :=0;
self.Left :=0;
big2.Visible :=true;
big1.Visible :=false;
winstate:=fstmax;
end
else
begin
//还原原来状态
self.Top :=winTop;
self.Left :=winLeft;
self.Width :=winWidth;
self.Height :=winHeight;
big1.Visible :=true;
big2.Visible :=false;
winstate:=fstnormal;
end;
end;
procedure TFrmDisplayScr.sbtnCloseClick(Sender: TObject);
begin
close;
end;
procedure TFrmDisplayScr.sbtnSmallClick(Sender: TObject);
begin
self.windowstate :=wsMinimized;
end;
procedure TFrmDisplayScr.TitleBarMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (Button=mbLeft) then
begin //进入移动状态
SendMessage(self.Handle,WM_LBUTTONUP,0,0);
SendMessage(self.Handle,WM_NCLBUTTONDOWN,HTCaption,0);
end;
end;
procedure TFrmDisplayScr.Label3MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (Button=mbLeft) then
begin //进入改变大小状态
SendMessage(self.Handle,WM_LBUTTONUP,0,0);
SendMessage(self.Handle,WM_NCLBUTTONDOWN,HTBOTTOM,0);
end;
end;
procedure TFrmDisplayScr.Label4MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (Button=mbLeft) then
begin //进入改变大小状态
SendMessage(self.Handle,WM_LBUTTONUP,0,0);
SendMessage(self.Handle,WM_NCLBUTTONDOWN,HTBOTTOMRIGHT,0);
end;
end;
procedure TFrmDisplayScr.Label2MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (Button=mbLeft) then
begin //进入改变大小状态
SendMessage(self.Handle,WM_LBUTTONUP,0,0);
SendMessage(self.Handle,WM_NCLBUTTONDOWN,HTRIGHT,0);
end;
end;
procedure TFrmDisplayScr.StayOnTop2Click(Sender: TObject);
begin
if (sender as TMenuITem).Checked then
setwindowPos(self.Handle,HWND_NOTOPMOST,0,0,0,0,SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE )
else
setwindowPos(self.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOSIZE or SWP_NOMOVE or SWP_NOACTIVATE );
(sender as TMenuITem).Checked :=not (sender as TMenuITem).Checked ;
end;
procedure TFrmDisplayScr.N2Click(Sender: TObject);
var i:word;
begin
if winstate=fstFull then
begin
//先正常显示
for i:=0 to self.ControlCount -1 do
self.Controls[i].Visible :=true;
big1.Visible :=true;
big2.Visible :=false;
top :=fbTop;
left:=fbLeft;
end
else if winstate =fstMax then
begin
top :=winTop;
left:=winLeft;
end;
winstate:=fstNormal;
mnuFullscr.Caption :='满屏显示';
self.Width :=oldFrmWidth;
self.Height :=oldFrmHeight;
end;
procedure TFrmDisplayScr.mnuFullscrClick(Sender: TObject);
var i:integer;
begin
if Pos('满屏显示',(sender as TMenuItem).caption)<>0 then
begin
(sender as TMenuItem).caption:='正常显示'
end
else
begin
(sender as TMenuItem).caption:='满屏显示' ;
end;
if Pos('正常显示',(sender as TMenuItem).caption)<>0 then
begin
//转向满屏显示
winstate:=fstfull;
for i:=0 to self.ControlCount -1 do
if (self.controls[i]<>scrPnl) then
self.Controls[i].Visible :=false;
fbTop := top;
fbLeft:=Left;
fbWidth:=Width;
fbHeight:=Height;
self.Top :=0;
self.Left :=0;
self.OnResize :=nil;
self.Width :=screen.width;
self.Height :=screen.Height;
self.OnResize :=FormResize;
FormResize( nil);
end
else
begin //转向正常显示
winstate:=fstNormal;
self.OnResize :=nil;
self.Top :=fbTop;
self.Left :=fbLeft;
self.width:=fbwidth;
self.Height :=fbHeight;
self.OnResize :=formResize;
formResize(nil);
for i:=0 to self.ControlCount -1 do
if (self.controls[i]<>scrPnl) then
self.Controls[i].Visible :=true;
big1.Visible :=true;
end;
end;
procedure TFrmDisplayScr.Label6MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
if (Button=mbLeft) then
begin //进入改变大小状态
SendMessage(self.Handle,WM_LBUTTONUP,0,0);
SendMessage(self.Handle,WM_NCLBUTTONDOWN,HTLeft,0);
end;
end;
procedure TFrmDisplayScr.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
if MainFrm.playerState <>psClosed then
MainFrm.closeMedia;
end;
procedure TFrmDisplayScr.WMMOVE(var Msg: TMessage);
begin
Inherited;
if (abs(Left-Mainfrm.Left-Mainfrm.Width) < 10) and (abs(Top-Mainfrm.Top) < 10) then // 设定移动到左上角 10 点范围内时贴到边上去
begin
Left := Mainfrm.Left+Mainfrm.Width;
Top := MainFrm.Top ;
mainfrm.linkDisplayScr:=1;
end
else if (abs(top+height-Mainfrm.top)<10) and (left<=mainfrm.Left+mainfrm.width) and (left+width>=mainfrm.left) then
begin
top :=Mainfrm.Top -height;
mainfrm.linkDisplayScr:=2;
end
else
mainfrm.linkDisplayScr:=0;
Msg.Result := 0;
end;
procedure TFrmDisplayScr.N4Click(Sender: TObject);
begin
MainFrm.PrevBtnClick(MainFrm.PrevBtn);
end;
procedure TFrmDisplayScr.N5Click(Sender: TObject);
begin
MainFrm.NextBtnClick(MainFrm.NextBtn);
end;
procedure TFrmDisplayScr.N7Click(Sender: TObject);
begin
mainfrm.MySetAudio((sender as TMenuItem).tag);
end;
procedure TFrmDisplayScr.FormShow(Sender: TObject);
begin
if self.Height <Mainfrm.Top then
self.Top := Mainfrm.Top-self.Height
else
self.Top :=0;
self.Left :=(screen.width-self.Width) div 2;
end;
procedure TFrmDisplayScr.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (key=vk_left) and (ssCtrl in shift) then
MainFrm.PrevBtnClick(MainFrm.PrevBtn)
else if (key=vk_right) and (ssCtrl in shift) then
MainFrm.NextBtnClick(MainFrm.NextBtn)
else if (key=vk_prior) and (ssCtrl in shift) then
MainFrm.StepBtnClick(MainFrm.backBtn)
else if (key=vk_next) and (ssCtrl in shift) then
MainFrm.StepBtnClick(MainFrm.stepBtn);
end;
procedure TFrmDisplayScr.N12Click(Sender: TObject);
begin
MainFrm.BringToFront;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -