中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > .NET > 临时文章
关于软件的SKIN技术 补充
作者:未知 时间:2005-07-27 21:35 出处:CSDN 责编:chinaitpower
              摘要:关于软件的SKIN技术 补充
关键字 界面 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?? 开玩笑..)

至于用户保存还是其他怎么办就看你的意思了

程序是你写的主要还是你说得算,看心情了.(服务器心情)

大体比较流行的就这么集中,后面两个极不常用.

总体方法很多的,技术总是在进步的,四位方式也是多元化的,随便挑选一种用就可以了

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有