关键字 界面 SKIN 作者:董含君
关于做界面的补充说明
4 网页技术 + ActiveX技术(dll或者ocx)
网页现在做界面的也越来越多了,解释器很简单,用IE或者Webbroser,屏蔽右键或者改成自己的右键菜单就可以了
内容就不用说了吧,用DreamWeaver很容易就作出来(联想的大猩猩说不定都会)
然后就是自己的功能,点击之后如何使用程序的函数调用.
方法至少有两种
第一种 使用Script+ActiveX
首先都是一样的,先CreateObject,把你封装好的类比如eg.dll创建一下
html:
head:
<script language=vbscript>
dim eg
eg=createobject("eg.skin")
</script>
body:
<img name=butxx onclick="eg.butxx" src="butxx.jpg" width=.....>
这样单击这个图像就可以实现eg这个对象的方法调用
当然,你可以继续丰富script以及html使其用起来更加方便.
第二种:在Webbroser中截获
Webbroser有一个beforenavagat,就利用这个了,可以在转向之前提前得到目的地址
我们可以截获一下,找到内容之后,然后取消就可以了
利用超级连接,我们假设"新增"一个"假"的协议
cmd://buttonxx
我们用WebBroser(简称WB)截获得到cmd://buttonxx
Private Sub WB_BeforeNavagat2(Url as string ,cancel as bool ....)
if ucase(left(url,u))="CMD://" then
dim arr() as string '临时变量
arr=split(url,"//") '分离协议头以及命令参数(参数也使用//分割)
select case arr(1)
case "buttonxx"
msgbox "你按下了buttonxx的超级连接"
case ......
case else
msgbox "指定的命令无法解释,看看打错了没?"
end select
end if
end sub
简单吧,而且第二种方法完全不需要使用者掌握脚本知识
5 Flash技术
Flash界面用的很多滴,比如3dmax,他的启动画面就是Flash的
Flash制作很简单,而且还是动画,最主要是如何跟应用程序交互
很多人都提到过,自己可以去baidu google搜索一下相关的资料,这里简单提一下
flash脚本有个 FSCommand的action,利用他我们可以接受Flash传给我们的信息
假设VB中Flash控件的名字是swf(啥?没听说过??自己找找,只要能看flash就一定有,有两个,只有一个是真的,另外一个我也不知道是作甚么用的)
制作Flash的时候,建立一个flash按钮或者其他什么东西,然后给他编辑脚本,FSCommand("butxx","这个是例子")
回到exe中,wsf有个事件也是fscommand
private sub swf_FSCommand(command as string,args as string ...)
select case command
case "butxx"
msgbox args '参数顺便也给传递过来了
case else
msgbox "Skin的FSCommand在该版本应用程序中不支持"
end select
end sub
至于exe怎么控制flash,简单,swf.play就可以了,或者跳转到相应的帧
实际上用exe可以修改action脚本的内部变量参数的,但是跟界面关系不大(最主要的是我记不清出那个方法的名字了...资料多的,自己搜)
还有一个就是右键菜单的问题,2年以前问的人很多的,现在没有了.需要研究hook,提示一下,原来我自己做的有问题,经常CPU爆满,后来也懒得改了.
一下就不是单纯的技术了,往往是符合了很多的
6 至于D3D
前面提到了一些相关信号...不打算说得太多
游戏都玩过吧,人家的界面华丽吧
自己想做吧
麻烦死了.....
首先界面用DriectDraw或者D3D,这样绘制速度会空前加快.
然后向上画按钮以及其他"控件"(这个不是Activex...)
微软提供了几个比较好看的,功能也不错.
然后如果需要更换SKIN,可以使用本文介绍的前三种方法的任何一种
用心做,你的程序可以跟游戏界面一样华丽.(时间超级漫长...)
7 有服务器支持的SKIN
这个比较高级,而且见过的人不多.估计也就开发人员见过
基本上可以是BS结构(较多),CS不是不可以(就是把配置简单的放在服务器数据库罢了,没什么好说的)
Server存放各种html界面以及用户数据,HTML就是我提到的第四中方法的那些技术.
数据库存放用户选择的SKIN
客户端的WB还是那些内容.但是可供选择的机会就依赖服务器了(SKIN_Server?? 开玩笑..)
至于用户保存还是其他怎么办就看你的意思了
程序是你写的主要还是你说得算,看心情了.(服务器心情)
大体比较流行的就这么集中,后面两个极不常用.
总体方法很多的,技术总是在进步的,四位方式也是多元化的,随便挑选一种用就可以了