窗口最大化问题(100分)

  • 主题发起人 主题发起人 vividwang
  • 开始时间 开始时间
V

vividwang

Unregistered / Unconfirmed
GUEST, unregistred user!
将窗口的BorderStyle = bsNone.
设置WindowState:=wsMaximized,发现将任务栏挡住了.怎么才能让象一般窗口似的.
不挡住任务栏.
 
你会挡住吗?我怎么不会
如果实在会你就这样写好了
在FORMCREATE里
self.Top:=Screen.WorkAreaTop;
Self.Left:=Screen.WorkAreaLeft;
self.Width:=Screen.WorkAreaWidth;
Self.Height:=Screen.WorkAreaHeight;
 
Application.MAXIMIZE;
 
试试看:
Procedure TForm1.FormCreate (Sender : TObject);

Begin

SetWindowLong (Handle, GWL_STYLE, GetWindowLong (Handle, GWL_STYLE) AND NOT WS_CAPTION);
ClientHeight:=Height;

End;
 
建立一个工程,BorderStyle设置成bsNone.加一个button.
procedure TForm1.Button1Click(Sender: TObject);
begin
WindowState:=wsMaximized;
end;
挡住任务栏了.上面的方法不行.

 
procedure TForm1.Button1Click(Sender: TObject);
begin
Application.MAXIMIZE;
end;
试一下。
 
是不是你的任务栏设置成自动隐藏了啊,那样当然就挡住了。
 
To WRainbug!,
Application.MAXIMIZE;好象不可以呀.
峻祁连,
其实全屏显示就是这么做的.
 
应该这样:把窗口的Align模式设置为:Client
 
DefWindowProc(self.Handle, WM_SYSCOMMAND, SC_MaxiMIZE, 0);
再试试
 
To WRainbug,
还是不行呀.
 
我以前做的是先获取屏幕的分辨率,再根据分辨率来设置宽度和高度
 
To thong_517,
办法到是可以,只是觉得应该有更好的办法.哪位有好的建议没有.
 
设置MaxHeight吧!
 
多谢各位参与,没找到好办法,只要笨办法实现了.
 
将窗口的BorderStyle设为bssingle就可以啦
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
608
import
I
后退
顶部