CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  基础类

关于FLASH全屏播放!!!

楼主ncutqi(ncutqi)2003-09-03 21:37:04 在 VB / 基础类 提问

前一阵子问过,不过各位老大的答案让小弟茫然,谁给个源代码,研究研究!!!不胜感谢!!! 问题点数:0、回复次数:3Top

1 楼hxy1982(农夫三拳有点甜)回复于 2003-09-06 22:25:04 得分 0

up~!Top

2 楼sovom(双叶无諜)回复于 2003-11-05 02:05:15 得分 0

简单一句话,用API函数Setwindowlong完成:  
  代码:  
      SetWindowLong   me.hwnd,-16&,&H16CF0000  
  Top

3 楼rainstormmaster(暴风雨 v2.0)回复于 2003-11-05 08:33:30 得分 0

SetWindowLong之后,还要使用flash控件的move方法:  
   
  全屏幕播放是个看似简单,实现起来一点也不容易的功能。在所有的播放控制功能中,全屏幕播放是唯一一个不是由Flash控件提供的,因为只有窗口才有全屏的概念,控件则没有,因此它需要播放器自己实现。全屏的要求是窗口充满屏幕,并且无标题条的边框,这就需要在运行时刻动态改变窗口的风格,但我们知道VB开发的程序,没有提供在运行时刻动态更改窗口风格的方法(运行时更改窗口的BorderStyle无效,ControlBox属性不能在运行时更改),看来惟有借助Windows   API了。Windows在user32.dll中提供了一组对应函数来分别获取和更改窗口的属性--GetWindowlong和SetWindowLong,它们都可以在VB的API   Loader中找到:Private   Declare   Function   GetWindowLong   Lib   "user32"   Alias   "GetWindowLongA"   (ByVal   hwnd   As   Long,   ByVal   nIndex   As   Long)   As   Long;  
  Private   Declare   Function   SetWindowLong   Lib   "user32"   Alias   "SetWindowLongA"   (ByVal   hwnd   As   Long,   ByVal   nIndex   As   Long,   ByVal   dwNewLong   As   Long)   As   Long。其中hwnd参数是被操作窗口的句柄;nIndex参数告诉函数要操作窗口的什么属性,在本程序中传入GWL_STYLE值,其他参数值可查阅MSDN;dwNewLong参数是新的窗口属性值。标准的窗口风格是有标题条和可缩放的边框,对应的窗口风格参数值是WS_CAPTION和WS_THICKFRAME,所以要实现全屏只要将窗口风格属性中的这两个值去掉就达到效果了,要恢复也很简单,重新加上这两个值即可。  
   
   
  Private   Sub   mnuFullScreenSWF_Click()  
  '   全屏幕播放,隐藏播放控制和进度显示  
  Dim   ReturnValue   As   Long,   WindowStyle   As   Long  
  mnuFullScreenSWF.Checked   =   Not   mnuFullScreenSWF.Checked  
  If   mnuFullScreenSWF.Checked   Then  
  '   更改窗口风格为无边框和无标题条,并且充满屏幕  
  WindowStyle   =   GetWindowLong(Me.hwnd,   GWL_STYLE)  
  ReturnValue   =   SetWindowLong(Me.hwnd,   GWL_STYLE,   WindowStyle   -   WS_CAPTION   -   WS_THICKFRAME)  
   
  Me.WindowState   =   vbNormal  
  Me.Move   0,   0,   Screen.Width,   Screen.Height  
   
  '   因为ShockwaveFlash在所有控件的最上面  
  '   所以无须隐藏其他控件就可充满窗口  
  MyShockwaveFlash.Move   0,   0,   Me.ScaleWidth,   Me.ScaleHeight  
  Else  
  '   恢复窗口风格为正常式样,并且还原为默认大小  
  WindowStyle   =   GetWindowLong(Me.hwnd,   GWL_STYLE)  
  ReturnValue   =   SetWindowLong(Me.hwnd,   GWL_STYLE,   WindowStyle   Or   WS_CAPTION   Or   WS_THICKFRAME)  
   
  Me.Move   0,   0,   488   *   Screen.TwipsPerPixelX,   446   *   Screen.TwipsPerPixelY  
  Me.Move   (Screen.Width   -   Me.Width)   \   2,   (Screen.Height   -   Me.Height)   \   2  
  End   If  
  End   Sub  
   
  全文可参考:  
  http://www.pconline.com.cn/pcedu/empolder/gj/vb/10203/38625.html  
  Top

相关问题

  • Flash全屏播放 急,在线等.......
  • Flash:请问怎样在Action中设置动画全屏播放?
  • 关键字 flash+全屏+播放完毕+Activex 秋枫遇到难题 关于flash播放
  • 一个播放flash mtv 的软件。。有列表。可打开exe。全屏。收藏。。。。。。。。
  • 在播放flash的时候可以全屏显示,会的请帮忙
  • 如何全屏播放 MPEG、DAT 文件?
  • 如何全屏播放AVI文件?
  • 怎样链接全屏播放?
  • 那位大侠知道怎样用FLASH生成一个全屏播放的.EXE文件.
  • 怎么样在程序中用flash控件播放的动画全屏啊!(up有分)

关键词

  • 控件
  • 属性
  • 函数
  • ws
  • me
  • flash
  • 全屏
  • setwindowlong
  • 播放
  • windowstyle

得分解答快速导航

  • 帖主:ncutqi

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo