关于软件的SKIN技术
来源:互联网 发布:傲剑金蛇剑法数据 编辑:程序博客网 时间:2024/06/05 16:49
关键字: 界面 SKIN 作者:董含君
界面是拼出来的.
你看到的最终界面实际上就是一个PictureBox(或者类似的设备),VC的朋友都理解,我们看到的全部的界面实际上都是"画"在窗体上的,只不过微软已经为我们做好了一切的重画工作罢了.如果自己像这么作,就要重复这部分劳动,不要觉得复杂,因为这是必然的.等你习惯了就行了(不难,就是耗时间)
方法1:配置文件配置的SKIN
所谓的脚本(不是脚本,应当说是配置信息)
比如 conf.ini
描述的就是 XX 按键的按下去位图文件是 xx1.bmp 松开的时候是xx2.bmp 悬浮的时候是 xx3.bmp 平时 是 xx0.bmp
然后描述 按钮XX的位置
10,10,200,100
举例
'conf.ini
[main]
bmpdir=bmp '指定位图文件目录
wavdir=wav '指定wav文件目录
[butXX] '按钮XX相关
top=10
left=10
height=100
width=200
Style0=xx0.bmp
Style1=xx1.bmp
Style2=xx2.bmp
Style3=xx3.bmp
tooltip=按钮XX的浮动提示
wav=ding.wav
[but2]
.....
[but3...]
配置完成之后,应用程序再读取这个ini 就可以了
假设你读取的函数是LoadINI(段名称,键名称) 返回 类型为字符串
Dim SkinBMPDir as string
dim SkinWAVDir as string
sub form_load()
loadskin "./skin/default/conf.ini"
end sub
sub loadSkin( conffile as string)
SkinBMPDir =loadini("main","bmpdir")
skinWavDir =loadini("main","wavdir")
imgButXX.top=cint(loadini("butxx","top")) '''(定义位置)
imgButXX.left=cint(loadini("butxx","left"))
...
imgButXX.image=loadpicture(skinbmpdir+loadini("butxx","Style0")) ''读取图片
...
end sub
实际上SKIN就是这样,或者差不多,就是一个数据配置文件
2 脚本配置
所谓的脚本就麻烦了,需要有脚本引擎解释.比如游戏界面里的那些操作界面,都是脚本实现的,怎么??你不相信!!!只不过一般你用不到这么复杂就是了
假设你的程序像OFFICE一样支持VBA,那么你的脚本应该是这样的
conf.cfg
'假设你的程序对每个按钮都有定义,比如classButXX类的对象ObjButXX
objButXX.top=...
ObjButXX.Style0=loadpicture("...
'中间对界面的配置由脚本来完成...
请参考叶凡达人的文章
VBScript脚本运用(脚本程序与宿主程序的交互) http://blog.csdn.net/yefanqiu/archive/2004/10/15/137928.aspx
VBScript脚本运用 http://www.bjjr.com.cn/YeFan/SourceCode/YFVBScript.rar
3 PlugIn技术
最后就是插件技术了
就是动态加载DLL
记得怎么用API么, declare function xxxx lib .....
VC有个LoadLibrary(忘了,也好想是delphi 我搞混了,VC Delphi反正两个都有)
VB没有,只能用WinAPI来动态加载dll
然后再dll提供同一的接口函数,比如confSkin()
主程序开始的时候,根据配置,动态加载 某个dll,然后配置工作交给dll的confSkin()完成
插件技术也是如此,比如不顾定的计算方法(例如WinAmp的屏幕动画),固定去调用某个dll的固定函数就可以了.
随着技术的进步,XML的大量引用,函数可以不顾定,dll也可以不顾定.
Flash也可以做界面...
HTML做界面的也越来越多了...
微软最新的例子演示了怎样用D3D来使用组件...
唉,老了,跟不上时代了
界面是拼出来的.
你看到的最终界面实际上就是一个PictureBox(或者类似的设备),VC的朋友都理解,我们看到的全部的界面实际上都是"画"在窗体上的,只不过微软已经为我们做好了一切的重画工作罢了.如果自己像这么作,就要重复这部分劳动,不要觉得复杂,因为这是必然的.等你习惯了就行了(不难,就是耗时间)
方法1:配置文件配置的SKIN
所谓的脚本(不是脚本,应当说是配置信息)
比如 conf.ini
描述的就是 XX 按键的按下去位图文件是 xx1.bmp 松开的时候是xx2.bmp 悬浮的时候是 xx3.bmp 平时 是 xx0.bmp
然后描述 按钮XX的位置
10,10,200,100
举例
'conf.ini
[main]
bmpdir=bmp '指定位图文件目录
wavdir=wav '指定wav文件目录
[butXX] '按钮XX相关
top=10
left=10
height=100
width=200
Style0=xx0.bmp
Style1=xx1.bmp
Style2=xx2.bmp
Style3=xx3.bmp
tooltip=按钮XX的浮动提示
wav=ding.wav
[but2]
.....
[but3...]
配置完成之后,应用程序再读取这个ini 就可以了
假设你读取的函数是LoadINI(段名称,键名称) 返回 类型为字符串
Dim SkinBMPDir as string
dim SkinWAVDir as string
sub form_load()
loadskin "./skin/default/conf.ini"
end sub
sub loadSkin( conffile as string)
SkinBMPDir =loadini("main","bmpdir")
skinWavDir =loadini("main","wavdir")
imgButXX.top=cint(loadini("butxx","top")) '''(定义位置)
imgButXX.left=cint(loadini("butxx","left"))
...
imgButXX.image=loadpicture(skinbmpdir+loadini("butxx","Style0")) ''读取图片
...
end sub
实际上SKIN就是这样,或者差不多,就是一个数据配置文件
2 脚本配置
所谓的脚本就麻烦了,需要有脚本引擎解释.比如游戏界面里的那些操作界面,都是脚本实现的,怎么??你不相信!!!只不过一般你用不到这么复杂就是了
假设你的程序像OFFICE一样支持VBA,那么你的脚本应该是这样的
conf.cfg
'假设你的程序对每个按钮都有定义,比如classButXX类的对象ObjButXX
objButXX.top=...
ObjButXX.Style0=loadpicture("...
'中间对界面的配置由脚本来完成...
请参考叶凡达人的文章
VBScript脚本运用(脚本程序与宿主程序的交互) http://blog.csdn.net/yefanqiu/archive/2004/10/15/137928.aspx
VBScript脚本运用 http://www.bjjr.com.cn/YeFan/SourceCode/YFVBScript.rar
3 PlugIn技术
最后就是插件技术了
就是动态加载DLL
记得怎么用API么, declare function xxxx lib .....
VC有个LoadLibrary(忘了,也好想是delphi 我搞混了,VC Delphi反正两个都有)
VB没有,只能用WinAPI来动态加载dll
然后再dll提供同一的接口函数,比如confSkin()
主程序开始的时候,根据配置,动态加载 某个dll,然后配置工作交给dll的confSkin()完成
插件技术也是如此,比如不顾定的计算方法(例如WinAmp的屏幕动画),固定去调用某个dll的固定函数就可以了.
随着技术的进步,XML的大量引用,函数可以不顾定,dll也可以不顾定.
Flash也可以做界面...
HTML做界面的也越来越多了...
微软最新的例子演示了怎样用D3D来使用组件...
唉,老了,跟不上时代了
- 关于软件的SKIN技术
- 关于软件的SKIN技术 补充
- 软件SKIN技术
- 软件SKIN技术
- 关于skin++
- 关于Skin++2.0(VC)的使用
- 关于UNICODE下SKIN++的使用
- Skin技术实现框架
- Skin技术实现框架
- 关于软件文档的技术要求
- 关于libgdx中skin
- 关于Theme中.skin与css需要理清的关系
- 关于Theme中.skin与css需要理清的关系
- skin的初级应用
- skin++的使用
- SKIN++皮肤的使用
- Libgdx Skin的使用
- skin的初级应用[制作skin][应用skin][编程使用skin]
- VC学习2
- VC学习1
- Win2k 服务
- 关于_set_new_handler
- 在Java中如何确定浮点数的精度,例如按要求确定小数点后面的数字个数
- 关于软件的SKIN技术
- [Windows安全知识]Windows 操作系统进程描述(系统进程)
- XMPP RFCs 1.0基本协议之概述之三
- [Windows安全知识]Windows 操作系统进程描述(程序进程)
- 关于软件的SKIN技术 补充
- BBLOG不怎样.
- PRB:启动时 Visual IDE 没有打开或应用程序无法启动错误信息
- Angels
- Effective STL 中文版(完整版)