社区
非技术类
帖子详情
一句话就可以得分的题
tg123
2002-01-20 10:12:51
swflash.ocx(flash控件)
打开文件后镇洋获得flash文件里的长宽值
ru 550*400
...全文
63
7
打赏
收藏
一句话就可以得分的题
swflash.ocx(flash控件) 打开文件后镇洋获得flash文件里的长宽值 ru 550*400
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dsclub
2002-01-21
打赏
举报
回复
关注中。。。。。。。。
daryl715
2002-01-20
打赏
举报
回复
着编文章很好,不过跟她的问题好像不太对应吧
tianxinet
2002-01-20
打赏
举报
回复
给你一篇参考文章看一下,http://www.netedu.net.cn/stk/zxjc/vb/v1.html
用VB编写FLASH动画播放器
Flash4是MacroMedia公司出品的矢量动画创作专业软件,利用该软件制作的矢量动画具有文件体积小、带音效和兼容性好等特点。那么,你想不想在自己编写的程序中加入Flash动画,为自己的程序添加一道亮丽的色彩呢?
一、编程原理
本程序利用了Flash4本身自带播放Flash动画的控件Swflash.ocx。你可以通过以下途径获得该控件:1、安装Flash4;2、安装Windows98自带的Flash插件,方法:依次单击“开始”菜单-“设置”-“控制面板”-“添加/删除程序”-“Windows 安装程序”-“多媒体”-“详细资料”-选中“Macromedia Shockwave Flash”前的复选框确定即可。以上方法都会将该控件安装到Windows目录下的System\Macromed\Flash子目录下。
二、示例程序
下面就是一个用Swflash.ocx控件编写的Flash动画播放器。本程序可一次打开多个Flash动画文件,并可在播放过程中选择播放打开的文件、随时改变播放质量、画面大小等状态;在播放过程中可以随时对播放的当前帧数进行调整或者手动进行逐帧播放,在状态栏里有当前播放状态的相关说明。在实现以上功能时,几乎用全了Swflash.ocx控件的主要属性、方法。
编程过程如下:
1、窗体、界面设计。
新建工程,选择“工程”菜单下的“部件”命令,在“部件”窗口的“控件”列表中将“Shockwave flash”、“Microsoft Common Dialog Control 6.0 (SP3)”、“Microsoft Windows Common Control 6.0 (SP3)”前的复选框选中,然后确定。再在窗体中分别加入1个CommonDialog控件、1个Slider控件、3个Label控件、6个CommandButton控件和1个Status Bar控件。其中:
将Form1的“Caption”属性设置为:Flash动画播放器。这是控制窗口。
将CommonDialog1的CancelError设置为True,DialogTitle设置为“打开Flash动画文件”,Filter属性设置为“Flash动画(*.swf)|*.swf|”,FilterIndex设置为1,MaxFileSize设置为10240。
将Slider1的SelectRanger的属性设置为“True”,SmallChange属性和LargeChange属性设置为10,TickFrequengcy属性设置为20,TextPosition设置为“1 - SldBelowRight”。
将Label(1-3)分别放在Slider1下的左端、中间和右端。其中,Label1的Caption设置为“0帧”,Label2和Label3的Caption设置为空字符串。
6个CommandButton的“名称”属性分别为:cmdOpen、cmdPlay、cmdPause、cmdPre、cmdPreFrame、cmdNextFrame、cmdNext、cmdExit,“Caption”属性分别为:打开、播放、暂停、上一个、上一帧、下一帧、下一个、退出。
在Status Bar上单击鼠标右键,选择“属性”,从弹出的窗口中选择“窗格”页面,用鼠标点击“插入窗格”5次,在索引1-5中分别设置“文本”属性为:“共打开了0个文件”、“状态:”、“等待”、“帧数:”、“0”,再适当设置每一项的“最小宽度”的属性(可参考图1中的比例)。
进入菜单编辑器(按快捷键Ctrl+E)。设置第一个菜单标题为“显示控制”,名称为:mnuDisplay;在“显示控制”下设立子菜单标题分别为“全部显示”、“随窗口大小变化”、“缩放至窗口大小”,名称分别为:mnuDisplay0、mnuDisplay1、mnuDisplay2。设置第二个菜单标题为“质量控制”,名称为:mnuQuality;在“质量控制”下设立子菜单标题分别为“低分辨率”、“高分辨率”,名称分别为:mnuQuality0、mnuQuality1。设置第三个菜单标题为“播放控制”,名称为:mnuPlayControl;在“播放控制”下设立子菜单标题分别为“循环播放”、“放大画面”、“缩小画面”,名称分别为:mnuLoopPlay、mnuZoomIn、mnuZoomOut。
选择“工程”菜单下的“添加窗体”命令,新增一个窗体Form2作为播放窗口。在Form2上加入1个ShockwaveFlash控件和1个Timer控件。将Timer1控件的“Interval”属性设置为“20”。
最后,对各窗体、控件的大小、位置进行适当的调整,其大小、位置可参考图1。
2、程序代码
第一步:在Form1的代码窗口中添加以下代码:
Dim FileNames() As String '用于保存打开的文件名称。
Dim PlayFileNum As Integer '用于计算正在播放的文件序号。
Dim TotalFile As Integer '用于统计打开的文件总数。
Private Sub cmdOpen_Click() '打开
On Error GoTo ExitOpen
CommonDialog1.Flags = cdlOFNAllowMultiselect Or cdlOFNFileMustExist Or cdlOFNExplorer
CommonDialog1.FileName = ″"
CommonDialog1.ShowOpen '显示“打开”对话框。
'以vbNullChar作为子字符串的边界分隔字符串CommonDialog1返回的FileName。
FileNames() = Split(CommonDialog1.FileName, vbNullChar)
If UBound(FileNames) = 0 Then '用户只打开了一个文件。
Form2!ShockwaveFlash1.Movie = FileNames(0)
TotalFile = 1
PlayFileNum = 0
Else '用户打开了多于一个文件。
Form2!ShockwaveFlash1.Movie = FileNames(0) + ″\″ + FileNames(1)
TotalFile = UBound(FileNames)
PlayFileNum = 1
End If
StatusBar1.Panels(1).Text = ″共打开了″ + Trim(Str(TotalFile)) + ″个文件″
cmdPlay_Click
ExitOpen:
End Sub
Private Sub cmdPlay_Click() '开始播放
If TotalFile < 1 Then Exit Sub '用户还没有打开文件。
'显示Form2开始播放动画。
Form2.Caption = FileNames(PlayFileNum) + ″ - Flash动画播放器″
Form2.Show
Form2!ShockwaveFlash1.Playing = True
If TotalFile = 1 Then PlayFileNum = 0
'显示状态条的信息。
StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFileNum) + ″ ...″
'显示滑动条的状态。
Slider1.Max = Form2!ShockwaveFlash1.TotalFrames
Label2.Caption = Str(Slider1.Max / 2) + ″帧″
Label3.Caption = Str(Slider1.Max) + ″帧″
End Sub
Private Sub cmdPause_Click() '暂停播放
Form2!ShockwaveFlash1.Stop
End Sub
Private Sub cmdPre_Click() '播放上一个文件
If TotalFile <> 1 Then '当用户打开多于一个文件时
PlayFileNum = PlayFileNum - 1
If PlayFileNum < 1 Then PlayFileNum = TotalFile
Form2!ShockwaveFlash1.Movie = FileNames(0) + ″\″ + FileNames(PlayFileNum)
End If
'显示播放状态的信息。
StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFileNum) + ″ ...″
Slider1.Max = Form2!ShockwaveFlash1.TotalFrames
Form2.Caption = FileNames(PlayFileNum) + ″ - Flash动画播放器″
Label2.Caption = Str(Slider1.Max / 2) + ″帧″
Label3.Caption = Str(Slider1.Max) + ″帧″
End Sub
Private Sub cmdNext_Click() '播放下一个文件
If TotalFile <> 1 Then '用户打开多于一个文件时
PlayFileNum = PlayFileNum + 1
If PlayFileNum>TotalFile Then PlayFileNum = 1
Form2!ShockwaveFlash1.Movie = FileNames(0) + ″\″ + FileNames(PlayFileNum)
End If
'显示播放状态的信息。
StatusBar1.Panels(3).Text = ″正在播放文件:″ + FileNames(PlayFileNum) + ″ ...″
Slider1.Max = Form2!ShockwaveFlash1.TotalFrames
Form2.Caption = FileNames(PlayFileNum) + ″ - Flash动画播放器″
Label2.Caption = Str(Slider1.Max / 2) + ″帧″
Label3.Caption = Str(Slider1.Max) + ″帧″
End Sub
Private Sub cmdPreFrame_Click() '跳到动画的上一帧
Form2!ShockwaveFlash1.Back
End Sub
Private Sub cmdNextFrame_Click() '跳到动画的下一帧
Form2!ShockwaveFlash1.Forward
End Sub
Private Sub cmdExit_Click() '退出程序
End
End Sub
Private Sub Slider1_Scroll()
'当用户拖动滑动条时,将播放帧数设置为滑动条中的值。
Form2!ShockwaveFlash1.FrameNum = Slider1.Value
End Sub
Private Sub mnuDisplay0_Click()
'将画面大小设置为在控件内保持动画原来比例全部显示
Form2!ShockwaveFlash1.ScaleMode = 0
mnuDisplay0.Checked = True
mnuDisplay1.Checked = False
mnuDisplay2.Checked = False
End Sub
Private Sub mnuDisplay1_Click()
'将画面的缩放设置为随控件横向(或纵向)的缩放而变化
Form2!ShockwaveFlash1.ScaleMode = 1
mnuDisplay0.Checked = False
mnuDisplay1.Checked = True
mnuDisplay2.Checked = False
End Sub
Private Sub mnuDisplay2_Click()
'将画面大小设置为不理会动画原来比例缩放至控件大小
Form2!ShockwaveFlash1.ScaleMode = 2
mnuDisplay0.Checked = False
mnuDisplay1.Checked = False
mnuDisplay2.Checked = True
End Sub
Private Sub mnuLoopPlay_Click()
'将播放方式设置为循环或不循环。
mnuLoopPlay.Checked = Not mnuLoopPlay.Checked
Form2!ShockwaveFlash1.Loop = Not Form2!ShockwaveFlash1.Loop
End Sub
Private Sub mnuQuality0_Click()
'将画面质量设置为低分辨率
Form2!ShockwaveFlash1.Quality = 0
mnuQuality0.Checked = True
mnuQuality1.Checked = False
End Sub
Private Sub mnuQuality1_Click()
'将画面质量设置为高分辨率
Form2!ShockwaveFlash1.Quality = 1
mnuQuality0.Checked = False
mnuQuality1.Checked = True
End Sub
Private Sub mnuZoomIn_Click()
'放大画面。
Form2!ShockwaveFlash1.Zoom (50)
End Sub
Private Sub mnuZoomOut_Click()
'缩小画面。
Form2!ShockwaveFlash1.Zoom (200)
End Sub
Private Sub Form_Unload(Cancel As Integer)
End '结束程序
End Sub
第二步:在Form2的代码窗口中添加以下代码:
Private Sub Form_Resize()
'将ShockwaveFlash1控件的大小设置为Form2的大小。
ShockwaveFlash1.Top = Form2.ScaleTop
ShockwaveFlash1.Left = Form2.ScaleLeft
ShockwaveFlash1.Width = Form2.ScaleWidth
ShockwaveFlash1.Height = Form2.ScaleHeight
End Sub
Private Sub Timer1_Timer()
'在状态栏和滑动条上显示当前播放的帧。
Form1!StatusBar1.Panels(5).Text = Str(ShockwaveFlash1.FrameNum)
Form1!Slider1.Value = ShockwaveFlash1.FrameNum
End Sub
第三步:调试、运行程序,运行界面如图2所示。
当播放Flash动画时,在播放窗口中单击鼠标右键时,将会弹出如图3所示的菜单。在该菜单,我们可以完成控制Flash动画播放的大部份工作。若想取消该功能,只要将Shockwave flash控件的Menu属性设置为False即可。
以上程序在Windows98,VB6.0下运行通过
tg123
2002-01-20
打赏
举报
回复
我试过了
可重视失败
tg123
2002-01-20
打赏
举报
回复
??
cy_nwau
2002-01-20
打赏
举报
回复
愿意参与!
Bardo
2002-01-20
打赏
举报
回复
打开Flash5,新建一个最简单的Flash文件,生成并保存为文件1,只修改长,生成并保存为文件2
再修改宽,生成并保存为文件3,再用文件比较,可用:FC,UtrEdit,InterDev,找出不同之处。
拼多多数据分析面试
题
:请你写一个sql语句统计出,连续三次(及以上)为球队
得分
的球员名单
下图是用向上窗口函数lead,得到球员...例如,下图按球队分组后,再按照
得分
时间降序排序后,我们可以看出,A队中的A1球员,B队中的B3球员,其姓名均连续出现3次。order by …lag(字段名,N,默认值) over(partion by …
请你写一个sql语句统计出,连续三次(及以上)为球队
得分
的球员名单
【拼多多面试
题
】两只篮球队进行了激烈的比赛,比分交替上升。比赛结束后,你有一张两...窗口函数连续三次(及以上)为球队
得分
的球员名单,用大白话翻译这句话就是:找出【每个球队】里为该球队连续三次(及以上)...
普通话测试第四
题
评分标准_普通话等级考试《评分细则》.docx
湖北省普通话水平测试评 分 细 则根据教育部、...一、读单音节字词 (100 个音节,不含轻声、儿化音节 ), 限时 3.5 分钟 , 共 10 分该
题
测查应试人掌握声母、韵母、声调读音的标准程度。(一)评分1.语音错误(含漏读...
pli测试50
题
题
库_PLI认知能力测试,谁懂这个?我面试刚做完,12分钟答了26道
题
,自我感觉没什么错误,有希望通过吗?...
上周刚刚做了一次PLI测试,结果还可以,简单分享一下。总体情况
题
型一共分三类,语言、抽象和数学。...
题
目情况语言类:基本属于普通的形式逻辑,阅读理解
题
,根据给定一两句话,是否可以推断出给定的结果,...
计算机前沿国际会议: 图灵测试测试
题
,人工智能
得分
:0分
这句话没有分词歧义,没有语音歧义,是人工智能最终目标所达到的水平,但是,人工智能
得分
为:0分 1. 测试者通过键盘,让机器将句子和字的拼音标注出来 字分别取自:会计师,开会,自行车和银行 a. 会 b. 会 c...
非技术类
742
社区成员
26,925
社区内容
发帖
与我相关
我的任务
非技术类
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
复制链接
扫一扫
分享
社区描述
VB 版八卦、闲侃,联络感情地盘,禁广告帖、作业帖
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章