当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 我在执行pstmt.executeupdate()的时候,为什么返回的总是0,也就是数据没有被更新,为什么?需要为oracle设置什么吗? ......
    摘要: 请问,用msflexgrid怎样改变每个列的标题?怎样控制某个列显示recordset对象的某个字段? 用datagrid时,set datagrid1.datasource=rs 执行时,为什么datagrid 没有任何显示呢? ......


如何使用FLASH控件,请指教

详细点谢谢!

NO.1   作者: lihonggen0

一、编程原理  
    本程序利用了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|”,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”,再适当设置每一项的“最小宽度”的属性。  
      进入菜单编辑器。设置第一个菜单标题为“显示控制”,名称为: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  
    注释:显示播放状态的信息。  
 

NO.2   作者: lihonggen0

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.   =   Form2.Scale  
    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下运行通过。    
   
   
     
 

NO.3   作者: lihonggen0

 
  用VB播放FLASH动画  
  Flash是一种矢量格式的动画文件,   可以包含动画,声音,超文本链接,而文件的体积却很小。在网页上使用Flash可以作出很漂亮的全屏动画和动态菜单条。    
    你想在VB程序里作出类似的效果吗?在VB中使用Flash4自带的Swflash.ocx控件就可以了。方法如下:    
    首先,打开VB5,新建一个工程,   在工具箱上单击右键,选择部件,在部件窗口的控件列表中选择Shockwave   flash,然后确定,Flash控件就被加到工具箱上。    
    然后将Flash控件放到窗体上,并调整至适当的大小,然后在属性窗口里设置movie属性为Flash动画文件的路径(如:c:\demo.swf),设置scale   model属性为2,quality   属性为   1。(参见附表)    
    双击窗体,在form_load(   )过程里加入:    
    shockwaveflash1.playing=true    
    按F5就可以看到播放的Flash动画了。(注意:编译以后的可执行文件不包含动画文件)如果动画里加上动态按钮,配合鼠标位置判断,就可以作成动态工具条或动态菜单了。


    摘要: c++里面的随机数函数是?还有它是在哪个头文件里面? 怎么取系统时间?函数是?time(参数如何设?) ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE