你们怎么解决“全屏”的问题的?(100分)

  • 主题发起人 主题发起人 wjiachun
  • 开始时间 开始时间
W

wjiachun

Unregistered / Unconfirmed
GUEST, unregistred user!
以前还没注意过这个问题,今天用了Win98,问题来了:

如何让自己的窗体“全屏”?就像屏幕保护一样——但不是屏保。我试过几个方法:
1。
form1.BorderStyle := bsNone;
form1.WindowState := wsMaximized;
2。setwindowpos(handle,HWND_TOP,-10,-10,810,690,SWP_SHOWWINDOW or SWP_NOZORDER);
3。form1.height := screen.height;
form1.width := screen.width ;

结果都没有达到目的,因为任务栏居然还在,多难看啊。
后来我就在程序开始时隐藏任务栏,退出时再回复。然而任务栏没了,这块地方也给我空
出来了,比以前还难看。

说说你们的解决办法吧。


 
综合起来就可以了!:)
设置窗口最前,BorderStyle=bsNone;
 
呵呵,忘记了,还要窗口状态最大化~~~~~~~`
 
Kingron:明天我去试试,要是行的话这100分就给你了,要是不行你可逃不了了,嘿嘿……
 
Kingron:很遗憾,我刚才试试,在98第二版上还是不行,好像运行时
确实全屏了,不过只有闪过一瞬间,后来又把任务栏给漏出来了……
 
抱歉,应该是我程序的问题,我试试空白的程序是可以的。

我只是放了一个Timer控制一个avi定时播放就不行了,不知道为什么?
 
form1.height := screen.height;
form1.width := screen.width
在最前,还有最多隐藏工具条,一定可以的,我一直这样用的呀!!
 
我测试了一下,用了一个Timer+AVI,也没有问题啊。
 
第三种 方案, 我也通过,你怎么会不行??
 
需要使用微软有关程序安装的API。我帮你查查看。
 
我一直都用第三种方法解决这个问题的,窗体属性设置成wsNormal我也是用98第二版
 
ie 全屏就是使用第三种方案 + 窗口最前 实现的。
 
用下面的肯定行
procedure TForm1.FormCreate(Sender: TObject);
begin
BorderStyle:=bsNone;
SetBounds(0,0,Screen.Width,Screen.Height);
end;
 
procedure TForm1.FormCreate(Sender: TObject);
begin
BorderStyle:= bsNone;
Height := screen.height;
Width := screen.width;
Position :=poScreenCenter;
FormStyle:= fsStayOnTop; //这个一定要
end;


 
//To tinytao:
//FormStyle:= fsStayOnTop;//一定要吗?????????
procedure TForm1.FormCreate(Sender: TObject);
begin
BorderStyle:=bsNone;
SetBounds(0,0,Screen.Width,Screen.Height);
end;
 
pcexplorer:我回答时没看你的贴子。多谢你的多方法。我记下啦。
 
我换一台机器重写了这个程序,用提到的任意一个方法都可以。

初步决定是那个机子的问题。
98SE+Delphi5 ,大家看看有什么原因会出现“全屏给任务栏让道”的情况呢?
 
很简单,我想你看到过 delphi 的主窗口在最大化的时候是什么样子的——不是全屏。
这通过修改 placement 结构可以做得到。

explorer 截获窗口消息,修改所有需要修改的 placement,让最大化的高度 = 屏幕高度
- 任务栏高度。
 
算了,最近实在是忙,不管这个了。
 
后退
顶部