在DELPHI中,如何用API函数实现"全屏"功能,就像IE浏览器中的"全屏"一样,100分!!!(100分)

  • 主题发起人 主题发起人 mayi
  • 开始时间 开始时间
IE浏览器中的"全屏"?<br>form1.width:=Screen.width;<br>for1.height:=Screen.height;
 
全屏的API我不知道有没有,估计是没有。<br>我自己倒是做过,和IE的效果一模一样。<br>就是去掉标题栏,发送最大化消息就行了,<br>很简单。
 
form1.windowstate:=wsMaximized;<br>form1.borderstype:=bsNone;<br><br>IE的也就是这个样子的
 
borderStyle设为bsNone的话,恢复成正常窗口的时候有闪动,对于<br>webbrowser来说,文档显示还会出问题。
 
Why use API!?
 
如果在FORM上放一个TWebBrowser控件,而且正在浏览,执行<br>form1.windowstate:=wsMaximized;<br>form1.borderstype:=bsNone;<br>时,浏览内容就会消失,恢复也不行,如果不放TWebBrowser控件就可以,请问如何处理?<br>
 
这种效果用什么API?!<br>太没有程序设计创意和领悟力了!如果我请人,不会请这样的人。
 
To mayi:<br>&nbsp; 用我的方法不会影响浏览的内容。<br>To z_cd:<br>&nbsp; 怎么这种效果不能用API吗?设计创意和领悟力我认为应该体现在程序界面设计和<br>功能上,至于怎样实现,在一定程度上来说,大可不必深究。
 
to CathyEagle:<br>去掉标题栏,How to...?<br><br><br>
 
下面的代码绝对可用,我想出来的。<br>s :=getwindowlong(handle,GWL_STYLE);<br>s :=s and (not WS_CAPTION);<br>s :=s or WS_POPUP;<br>Setwindowlong(Handle,GWL_STYLE,style);<br>h :=form1.height;<br>t :=form1.top;<br>l :=form1.left;<br>w :=form1.width;<br>sendmessage(handle,WM_SYSCOMMAND,SC_MAXIMIZE,t*65536+l);<br>//下面两句话的作用是让刷新窗口,让最大化效果生效。<br>movewindow(handle,l,t,w,h+1,true);<br>movewindow(handle,l,t,w,h-1,true);<br><br>
 
To CathyEagle:<br>你的方法,我试过了,不行,窗口都不见了,还有什么好方法吗?
 
属性直接改不行吗,为什么用api
 
form1.windowstate:=wsMaximized;<br>form1.borderstype:=bsNone;<br>这两句使webbrowser的URL丢失了,出个损着<br>先存URL<br>saveURL:=Webbrowser.LocationURL;<br>form1.windowstate:=wsMaximized;<br>form1.borderstype:=bsNone;<br>WebBrowser1.Navigate(saveURL);<br><br>嘿嘿。
 
除了简单设置大小外可能还是调整界面显示。
 
怎么会窗口都不见了呢?实在奇怪。<br>不信我把我的exe发给你看。
 
CathyEagle:<br><br>你的主页不错,你不是联众那个张硕吧。呵呵
 
多人接受答案了。
 
to minxin<br>  sorry,今天才看到你的话,多谢夸奖。<br>  我很少玩游戏,估计不是联众那个张硕了,呵呵……
 
后退
顶部