窗体显示

来源:互联网 发布:黑客页面源码 编辑:程序博客网 时间:2024/06/05 15:20

窗体前置
SetWindowPos(Form1.Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE );
SetWindowPos(FrmMain.Handle,HWND_TOPMOST,FrmMain.Left,FrmMain.top,FrmMain.Width ,FrmMain.height,SWP_SHOWWINDOW);
窗体置底
SetWindowPos(FrmMain.Handle,HWND_BOTTOM,FrmMain.Left,FrmMain.top,FrmMain.Width ,FrmMain.height,SWP_SHOWWINDOW);
显示窗体

Form2.ShowModal;

窗体启动时最大化
1、窗体的Position属性为poDefault,设置为poDesktopCenter会感觉向下移动了半个任务栏的高度

2、Self.WindowState:=wsMaximized;

窗体启动时全屏(无标题栏)
{ Go full screen }
BorderStyle := bsNone ;
WindowState := wsmaximized;
ClientWidth := Screen.Width ;
ClientHeight := Screen.Height;
Refresh;
SetForegroundWindow(Handle) ;
SetActiveWindow(Application.Handle) ;
还原
BorderStyle := bsSizeable ;
WindowState := wsNormal;
ClientWidth := Trunc(Screen.Width/2) ;
ClientHeight := Trunc(Screen.Height/2);
Refresh;
SetForegroundWindow(Handle) ;

SetActiveWindow(Application.Handle) ;

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) ;

这样也实现了 全屏不挡了任务栏。

原创粉丝点击