数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

在PB中用Flash制作Splash封面


发布日期:2024年05月15日
 
在PB中用Flash制作Splash封面

我们常用的软件如WordExcelPhotoShop等在运行时都有一个Splash封面该封面既显示软件的名称版本开发人员以及使用者等信息又可以在后台初始化数据库和软件需要调用的文件但这些Splash封面文件通常只包含静态的图片和文本对象常常显得比较单调我们是否可以将Splash封面文件做成动态的呢?答案当然是可以的笔者在用PowerBuilder 为单位开发工资软件时通过调用Flash文件制作出新颖漂亮的Spalsh封面

以下详细介绍制作过程

先将SwflashOcx文件复制到Windows\system(若为Windows系统则为System目录)下然后单击开始运行在运行框中输入Regsvr c:\windows\system\swflashocx单击确定即可注册swflashocx控件

在Flash中制作一大小为px×px的Flash文件splashfla并输出为splashswf保存在开发目录下

在PowerBuilder中新建一应用Splashpbl在应用的Open事件中添加如下代码Open(w_splash) //打开Splash封面窗口

在Powerbuilder中新建一函数wf_get_Curr_dirAccess为PublicReturn Type 为String函数名为wf_get_Curr_dir在该函数中添加如下代码

//获得当前应用所在的目录

string ls_Buffer

ls_Buffer=Space()

IF GetCurrentDirectoryA(ls_Buffer)= THEN SetNull(ls_Buffer)

RETURN ls_Buffer

代码中的GetCurrentDirectoryA为WindowsAPI函数在应用的Globa External Functions中声明

Function ulong GetCurrentDirectoryA(ulong nBufferLengthref string lpBuffer) Library kerneldll

新建一窗口w_Splash其属性如下表

窗口/控件名值 WindowTypePopup!WindowStateNormal!VisibleTrueEnabledTrueClientEdgeTrueCenterTrue WidthHeight

将窗口的TitlebarControlMenuMaxBoxMinBoxPaletteWindowRightToLeftBorder等全部取消选择

在窗口中插入一Ole控件打开对话框单击Insert Control页面在Control Type下的列表框中选择Shockwave Flash Object然后单击OK按钮即可在窗口中插入flash控件其属性设置如下表

窗口/控件名值NameOle_VisibleTrueEnabledTrueBorderStyleStyleLowered!

其它属性保持不变

在窗口的Open事件Close事件Timer事件中分别加入如下代码

Open事件

String ls_pathls_swffile

ls_path=wf_get_curr_dir() //获得当前应用的路径

ls_swffile=ls_path+\splashswf

ole_move()

ole_width=thisworkspacewidth( )

ole_height=thisworkspaceheight( )

ole_objectmovie(ls_swffile)

ole_objectplay()

timer(this)

Close事件

timer(this)

//open(w_logon) //打开登陆窗口

Timer事件

Close(this)

至此本应用的Splash封面窗口建立完毕单击运行按钮即可运行

以上程序在Windows//xp 和Powerbuilder /下运行通过

上一篇:PB中实现可监控的数据备份

下一篇:小议数据库主键选取策略