窗体位置(50分)

  • 主题发起人 主题发起人 zrz0320
  • 开始时间 开始时间
Z

zrz0320

Unregistered / Unconfirmed
GUEST, unregistred user!
当我把窗体设置为最大时,为什么窗体上的statusBar1(在窗体的最下面)显示不出来
被任务栏给挡住了!
怎样才能时窗体最大化,statusBar1能显示,而任务栏也能显示呢?
 
Form1.WindowState:=wsMaximized;
 
这样不行的阿
我已把窗体设为Maximized
就是窗体上的statusBar1(在窗体的最下面)显示不出来
被任务栏给挡住了!
 
不会呀。
 
楼主的意思是把Windows的任务栏设置为自动隐藏了,然后最大化时程序自动就满屏了。
如果不设置为自动隐藏就没问题了
解决办法:
1、将Form 的FormStyle设置为fsStayOnTop;但当程序最大化后任务栏又不见了
2、截获WM_GETMINMAXINFO消息:
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls;
type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
private
{ Private declarations }
//声明截获消息过程
procedure MyMax(var msg:TWMGetMinMaxInfo);
message WM_GETMINMAXINFO;
public
{ Public declarations }
end;

var
Form1: TForm1;
implementation
{$R *.DFM}
{ TForm1 }
//实现部分
procedure TForm1.MyMax(var msg: TWMGetMinMaxInfo);
var
MySize:TPoint;
begin
MySize.X:=804;//最大化时的宽
MySize.Y:=577;//最大化时高
msg.MinMaxInfo.ptMaxSize:=MySize;
end;

end.
 
大哥,我这是C#.net的阿
不是delphi阿
 
老大,把Delphi改写成C#嘛
 
我的就不会被windows挡住
 
看看form的Bordericons的biMinmize和biMaximize的属性是否设置成了false;
如果是statusBar1就会被任务栏盖住;
还有看看form的Borderstyle属性设置。
 
后退
顶部