全屏显示..(50分)

  • 主题发起人 主题发起人 hzlan
  • 开始时间 开始时间
H

hzlan

Unregistered / Unconfirmed
GUEST, unregistred user!
[^]我想我的程式运行时隐藏了win98的任务栏,
这样我的程式将全屏显示,但我一按最大化后,
原来任务栏的地方出现一个空白,窗口并不是800*600,而是800*578,为什么.
 
在你的程序中将任务栏隐藏后应该再得到屏幕的大小。
 
首先你应该得到任务栏的高度 ;:

function TForm1.GetTaskBar:integer;
var
;abd:TAppBarData;
begin
;abd.cbSize:=sizeof(abd);
;SHAppBarMessage(ABM_GETTASKBARPOS,abd);
;Result:=abd.rc.Bottom-abd.rc.Top;
end;

然后设定窗体的高度吧~~~
 
取clientheight 和clientwidth
 
应该考虑到使用SCREEN,
使用Screen.Width, Screen.Height可以解决问题
程序默认最大化的时候使用的似乎是SCREEN.DESKTOPRECT
倘若希望还是使用以前的最大化,那么你可以重载掉其最大化消息处理
 
to hzlan:
不对啊,我怎么试窗体都是最大化达到了全屏,没有你说的那种情况啊
 
多人接受答案了。
 
后退
顶部