加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用flash美化vc6.0的界面

发布时间:2020-12-15 07:07:00 所属栏目:百科 来源:网络整理
导读:每次使用vc的时候都觉得vc的界面不好看,虽然vc也可做出好看的界面但那太耗费时间了,但结合flash后界面设计将变得简单,下面是我做的一个实例过程和结果。 首先先建立一个基于对话框的程序起名为“cx”(自己起的)。 打开资源编辑器,选择 工程-增加到工程

每次使用vc的时候都觉得vc的界面不好看,虽然vc也可做出好看的界面但那太耗费时间了,但结合flash后界面设计将变得简单,下面是我做的一个实例过程和结果。

首先先建立一个基于对话框的程序起名为“cx”(自己起的)。

打开资源编辑器,选择 工程->增加到工程->Components and Controls->Registered Active Controls->shockwave Flash Object

如果插入不了就将后缀.lnk去掉(如果打开Components and Controls是空的那就去下载组件或者重装vc)

然后控件里就会多一个flash控件

这个控件的使用方法和其他控件一样直接拖到对话里就可以使用。

使用类向导为该控件添加一个变量 "m_swfpage1"? 此时会系统会自动生成一个类"CShockwaveFlash"

接下来便是编程部分了

在OnPaint函数中添加如下代码

?? m_swfPage1.SetMovie("swf文件的绝对路径");????

?? m_swfPage1.LoadMovie(0,"swf文件的绝对路径");
?? m_swfPage1.Play();??
???m_swfPage1.GotoFrame(0);????

GotoFrame函数的参数是swf里面的帧数;要了解其他的函数请查看msdn

利用类向导给对话框类添加一个函数FsCommand()该函数用于flash和vc进行通信

解释一下FsCommand()函数

OnFSCommandShockwaveflash1(LPCTSTR command,LPCTSTR args)

参数? command 和参数 args 是两个满足vc命名规则的字符串,在flash 脚本编辑中有一个函数fscommand()与该函数对应fscommand()函数的两个参数也是满足vc命名规则的字符串,比如:在flash中有??

?????? fscommand("out","click");

那么在vc中可以

void CCxDlg::OnFSCommandShockwaveflash1(LPCTSTR command,LPCTSTR args)
{
?// TODO: Add your control notification handler code here

????? if(0 == strcmp(command,"out"))?
??????????对应操作;

}

只要在swf触发了包含fscommand()函数的事件就可以执行?? 对应操作。

?这是我例子的as语句

package? {
?
?import flash.display.MovieClip;
?import flash.events.KeyboardEvent;
?import flash.ui.Keyboard;
?import flash.events.Event;
?import flash.events.MouseEvent;
?import flash.system.fscommand;??????? ///////这个必须加
?
?
?public class playroad extends MovieClip {
??
??var road1:Road1;
??var road2:Road2;
??var road3:Road3;
??var road4:Road4;
??var road5:Road5;
??public function playroad() {
???// constructor code
???Initance();
???road1.addEventListener(MouseEvent.MOUSE_OVER,onset1);
???road1.addEventListener(MouseEvent.MOUSE_OUT,onout1);
???road1.addEventListener(MouseEvent.CLICK,onclick1);
???road2.addEventListener(MouseEvent.MOUSE_OVER,onset2);
???road2.addEventListener(MouseEvent.MOUSE_OUT,onout2);
???road2.addEventListener(MouseEvent.CLICK,onclick2);
???road3.addEventListener(MouseEvent.MOUSE_OVER,onset3);
???road3.addEventListener(MouseEvent.MOUSE_OUT,onout3);
???road3.addEventListener(MouseEvent.CLICK,onclick3);
???road4.addEventListener(MouseEvent.MOUSE_OVER,onset4);
???road4.addEventListener(MouseEvent.MOUSE_OUT,onout4);
???road4.addEventListener(MouseEvent.CLICK,onclick4);
???road5.addEventListener(MouseEvent.MOUSE_OVER,onset5);
???road5.addEventListener(MouseEvent.MOUSE_OUT,onout5);
???road5.addEventListener(MouseEvent.CLICK,onclick5);
???Button_out.addEventListener(MouseEvent.CLICK,onout);
??}
??function onout(event:MouseEvent)
??{
???fscommand("out","click");
??}
??function onclick1(event:MouseEvent)
??{
???fscommand("road1","click1");
??}
??function onclick2(event:MouseEvent)
??{
???fscommand("road2","click2");
??}
??function onclick3(event:MouseEvent)
??{
???fscommand("road3","click3");
??}
??function onclick4(event:MouseEvent)
??{
???fscommand("road4","click4");
??}
??function onclick5(event:MouseEvent)
??{
???fscommand("road5","click5");
??}
??function onset1(event:MouseEvent)
??{
???road1.scaleX+=0.5;
???road1.scaleY+=0.5;
??}
??function onout1(event:MouseEvent)
??{
???road1.scaleX-=0.5;
???road1.scaleY-=0.5;
??}
??function onset2(event:MouseEvent)
??{
???road2.scaleX+=0.5;
???road2.scaleY+=0.5;
??}
??function onout2(event:MouseEvent)
??{
???road2.scaleX-=0.5;
???road2.scaleY-=0.5;
??}
??function onset3(event:MouseEvent)
??{
???road3.scaleX+=0.5;
???road3.scaleY+=0.5;
??}
??function onout3(event:MouseEvent)
??{
???road3.scaleX-=0.5;
???road3.scaleY-=0.5;
??}
??function onset4(event:MouseEvent)
??{
???road4.scaleX+=0.5;
???road4.scaleY+=0.5;
??}
??function onout4(event:MouseEvent)
??{
???road4.scaleX-=0.5;
???road4.scaleY-=0.5;
??}
??function onset5(event:MouseEvent)
??{
???road5.scaleX+=0.5;
???road5.scaleY+=0.5;
??}
??function onout5(event:MouseEvent)
??{
???road5.scaleX-=0.5;
???road5.scaleY-=0.5;
??}
??function? Initance()
??{
???road1=new Road1;
???addChild(road1);
???road1.scaleX-=0.5;
???road1.scaleY-=0.5;
???road1.y=200;
???road1.x=70;
???road2=new Road2;
???addChild(road2);
???road2.scaleX-=0.5;
???road2.scaleY-=0.5;
???road2.y=road1.y;
???road2.x=road1.x+1.5*road2.width;
???road3=new Road3;
???addChild(road3);
???road3.scaleX-=0.5;
???road3.scaleY-=0.5;
???road3.y=road1.y;
???road3.x=road1.x+3*road2.width;
???road4=new Road4;
???addChild(road4);
???road4.scaleX-=0.5;
???road4.scaleY-=0.5;
???road4.y=road1.y;
???road4.x=road1.x+4.5*road2.width;
???road5=new Road5;
???addChild(road5);
???road5.scaleX-=0.5;
???road5.scaleY-=0.5;
???road5.y=road1.y;
???road5.x=road1.x+6*road2.width;
??}
?}
?
}

对应的vc代码

void CCxDlg::OnFSCommandShockwaveflash1(LPCTSTR command,LPCTSTR args)
{
?// TODO: Add your control notification handler code here
?//MessageBox(command,NULL,MB_OK);
?if(0 == strcmp(command,"out"))
??OnOK();
?if(0 == strcmp(command,"road1"))
??MessageBox("你选择了阿纲","road2"))
??MessageBox("你选择了鸣人","road3"))
??MessageBox("你选择了佐隆","road4"))
??MessageBox("你选择了一护","road5"))
??MessageBox("你选择了星魂",MB_OK);
}
以下是效果图:

把鼠标移到相应图片上对应图片会放大

点击图片会出来对应的操作,我这里是显示一个提示框

想看完整的程序可以下载我的例子:http://download.csdn.net/detail/u013243630/7463625

写的不好,大神多多指教。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读