Delphi7 实现窗体全屏方法


设置要全屏的窗体的ALign 属性为ALcLient ,此法最快。当然对我来说,我并不知道这个,所以走了远路,等后来在实现窗体禁止移动的时候
才想到了这里,汗。注意:这种全屏方式不会挡了系统的任务栏。。。。同时可以防止窗体移动,

方法二:

用代码控制。
在窗体的创建事件中,
此方法运行后窗体也可以移动。
影响美观。应该再加入禁止窗体移动的代码)写入

var

TrayWnd:

HWnd;

//

任务栏句柄

Rec : TRect;

begin

TrayWnd := FindWindow('Shell_TrayWnd',nil);//

得到任务栏句柄

GetWindowRect(TrayWnd, Rec);

//

获取任务栏尺寸

mainfm .Left :=0;

mainfm .top:=0;

mainfm .Width :=Screen .Width

mainfm .Height :=Screen .Height-(rec.Bottom- rec.Top)

end; 
这样也实现了 全屏不挡了任务栏。 方法三:(全屏要挡住任务栏) 
设置窗体的windowState 为wsMaxinized ,汗。。

再来一种

procedure TForm1.Button1Click(Sender: TObject);
begin
//覆盖任务栏
Self.BorderStyle := bsNone;
Self.Left := 0;
Self.Top := 0;
Self.Width := Screen.Width;
Self.Height := Screen.Height;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
//保留任务栏
Self.BorderStyle := bsNone;
Self.Left := Screen.WorkAreaLeft;
Self.Top := screen.WorkAreaTop;
Self.Width := Screen.WorkAreaWidth;
Self.Height := Screen.WorkAreaHeight;
end;

原文地址:https://www.cnblogs.com/zhangzhifeng/p/5594948.html