急救!! Delphi最大化问题(100分)

  • 主题发起人 主题发起人 Donn
  • 开始时间 开始时间
D

Donn

Unregistered / Unconfirmed
GUEST, unregistred user!
主窗口winstate:=wsMaximized
运行时窗口是最大化了,但起点不是(0,0)。
在Delphi帮助文件有时也出现类似情况。
是否Delphi bug?
如何解决(让窗口占据整个桌面,难道真的计算任务栏的长
宽以及位置、有否隐藏)?
 
主窗口这种情况我没有遇到过,帮助文件有这种情况,但是重启delphi或者系统
就好了.可能是bug吧.
按照你的试了一下,好像没事.
如果实在不行,把窗口的Align属性设为alClient看一看(不过应该是一样的).
 
我采用上述方式是正确的,
是否可以考虑WIN95系统显示设置(屏幕范围和显示卡范围不一致)所致!!
 
类似的情况我见过,
很奇怪:
14寸的彩显,任务栏的autohide不选,form的
windowstate:=wsMaxmized,position:=poDesktopCenter或poScreenCenter
(触发条件很多啊),运行看看吧,准不能最大化!
15寸的我也试过,没有此问题。
todo
nn:把position设为poDefault试试吧
 
我觉得应该把Possion设置poScreenCenter
BTW:主窗口最大化,为什么不用:
Application.Maxmize;
 
你可以编程解决嘛:
procedure TForm1.OnCreate(Sender: TObject);
var
p: TRect;
begin
Self.Left := 0;
Self.Top := 0;
GetWindowRect(GetDesktopWindow, p);
Self.Width := p.Right;
Self.Height := p.Bottom;
end;

// All OK!
 
应该是你的Windows系统有毛病
 
用 fx 的方法,把position设为poDefault,有效。
但有新问题:
我写了一段小程序。在注册表里记录下窗口关闭时的状态,
以便下次运行按上次运行的最后的状态显示。
若记住的状态是最大化(其他状态没问题),第二次运行可最大化,
但还原操作无法正常。
向各位求教。若有相应的控件,是最好。
可以再得到50分。


 
接受答案了.
 
position设定为poDefault
formstyle设定为fsStayOnTop
ok?
 
后退
顶部