设置要全屏的窗体的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;