我想把我的VB界面做得好看一点,怎么样用ACTIVESKIN
解决方案 »
- 很简点的一个关于ADO的问题,进来看看!!!!!!!
- 我无法对DataEnvironment1的Connection1属性进行编辑???
- 有没有更好的写法!爱钻牛角尖得来!
- 运行外部可执行程序出错?请专家进来!
- 如何在程序中为ms sql2000中创建数据库,不是表----- 急!
- DATAGRID中数据不能显示的问题?
- 请教如何预览自己写的asp页面,是否需要装什么工具才行?我用vs2005预览报错说不能分析asp文件什么的。
- 我要去深圳找工作了,以后来少啦! 大家圣诞快乐,散分120,呵呵!!!!!
- 一个程序员从VB过度到VC困难么?他的C基础很一般…
- 急、急急急 vb用mediaplay如何控制左、右声道
- 函数RegNotifyChangeKeyValue在XP下怎样用来实现?
- 哪为大哥,高手帮忙啊~~~来者有分,分不够再加
怎么样把他用到VB中呢,是不是用ACTIVESKIN控件,的APPLYBYNAME方法,而这个方法是不是就是说按控件的名称应用于VB,那就是说每个控件的命名都要一样,是不 这样
单 琦
对广大编程爱好者来说,不仅希望自己写出的程序实用、性能稳定,更希望软件的界面豪华、漂亮。但界面设计往往费时、费力,而且多数程序员在这方面并不擅长。怎么办呢?如果您使用的是以下开发工具,
- Microsoft Visual Basic 4-6
- Microsoft Visual C++ 5-6
-Inprise/Borland Delphi 2-4
那么恭喜你,您有福气享受softshape公司开发的ActiveSkin控件带给您的方便与快捷了。利用ActiveSkin控件您可以设计出任意形状的窗口界面,连软件的其他设定画面、菜单、按钮、对话框等等也都可以依照你的意思来设计,半透明、阴影等效果都可以。你还可以把软件设计得像是MAC、UNIX等其他操作系统的软件的样子。可以使你开发的软件具备“换肤”功能,可以更换软件的外观,形状、颜色等。图一为ActiveSkin提供的两个界面例子,怎么样? 上述形式的界面中,按钮、滚动条等均具有颜色渐变及动画效果,你不仅可以利用ActiveSkin提供的SkinBuilder很容易的设计出以上效果的界面,而且也可以直接在程序中引用ActiveSkin提供的20几个(包括上述两个)界面方案,快速高效的开发出界面漂亮、豪华的应用软件。下面我就结合实例(开发环境为Visual Basic 6.0)讲一下运用ActiveSkin 控件开发程序界面的方法。首先运行ActiveSkin控件包中的Setup程序安装控件并自动完成注册(ActiveSkin控件包下载网址为: http://www.softshape.com/activeskin ,也可到华军软件园的编程工具中下载)。然后运行VB并新建一工程,然后选择菜单中的“工程(P)”、“部件”,从控件列表中选择ActiveSkin 1.0 type library 然后确定,这时VB的工具栏中会出现6个控件依次为SkinForm、SkinButton、SkinPanel、SkinLabel、SkinScrollBar、SkinStorage,首先选取SkinStorage,把它放到新建工程的Form1上,然后在该控件上单击鼠标右键,在弹出的菜单中选择Load Skin,然后在弹出的对话框中选择ActiveSkin安装目录下的Skins目录里的任意一个界面方案,在本例中选择Military 文件。然后在新建工程的Form1窗体中依次放入SkinForm、SkinButton(三个,并分别命名为按钮一、按钮二、按钮三),见图二:然后在代码输入框中依次输入以下代码:
----------------------------------------------------------------------------
Private Sub Command1_Click()
Dim skobj As SkinObject
Set skobj = SkinForm.SkinObject
While Not skobj Is Nothing ' scan for all SkinObjects in the skin
If skobj.Transparency <> 0 And skobj.Transparency <> 255 Then
Dim test As SkinObject
Set test = skobj
While Not test Is Nothing
If test.Transparency = 0 Then GoTo t1
Set test = test.Parent
Wend
t1: If test Is Nothing Then skobj.Transparency = 0
End If
Set skobj = skobj.GetUpperObject
Wend
End Sub
----------------------------------------------------------------------------
Private Sub Form_Load()
ApplySkin SkinStorage1.SkinSource
End Sub
----------------------------------------------------------------------------
Private Sub Animate()
If Not SkinButton1.SkinObject Is Nothing Then
t = SkinButton1.SkinObject.Top
SkinButton1.SkinObject.TopString = CStr(t - 60)
SkinButton1.SkinObject.ExecuteScript "wait 500; moveto - " + CStr(t) + " - - - - 1000_ decel"
End If
If Not SkinButton2.SkinObject Is Nothing Then
t = SkinButton2.SkinObject.Top
SkinButton2.SkinObject.TopString = CStr(t - 60)
SkinButton2.SkinObject.ExecuteScript "wait 500; moveto - " + CStr(t) + " - - - - 1000_ decel"
End If
If Not SkinButton3.SkinObject Is Nothing Then
t = SkinButton3.SkinObject.Top
SkinButton3.SkinObject.TopString = CStr(t - 60)
SkinButton3.SkinObject.ExecuteScript "wait 500; moveto - " + CStr(t) + " - - - - 1000_ decel"
End If
End Sub
----------------------------------------------------------------------------
Private Sub ApplySkin(SkSrc As SkinSource)
Set SkinForm.SkinSource = SkSrc
SkinButton1.ApplySkin SkinForm
SkinButton2.ApplySkin SkinForm
SkinButton3.ApplySkin SkinForm
Animate
Refresh
End Sub
----------------------------------------------------------------------------
' 按钮一代码
Private Sub SkinButton1_Click()
SkinButton1.ApplySkin SkinForm
Animate
End Sub
----------------------------------------------------------------------------
' 按钮二代码
Private Sub SkinButton2_Click()
SkinButton2.ApplySkin SkinForm
Animate
End Sub
----------------------------------------------------------------------------
' 按钮三代码
Private Sub SkinButton3_Click()
SkinButton3.ApplySkin SkinForm
Animate
End Sub
然后按F5运行,结果如图三: 此程序运行后,该不规则窗体为半透明(设计时可调),点击按钮有动画效果,左上角三个小按钮依次为最小化、最大化、关闭按钮,均带特效。如果在选择界面方案时,选择其它方案,并将以上代码稍加修改即可做出风格各异的程序界面。
当然,如果你觉得输入以上代码太麻烦,那你也可以这样做。在新建的窗体上只放一个SkinForm,然后在该控件上单击右键,在弹出的菜单中选择Load Skin,然后在弹出的对话框中选择ActiveSkin安装目录下的Skins目录里的任意一个界面方案,在本例中仍然选择Military 文件,确定后你会发现窗体已经变成图四的样子,只是没有按钮的动画效果。不过这么简单几步就可以拥有奇形怪状的窗体,你会不满意吗?
限于篇幅,ActiveSkin 控件的使用方法及技巧就先写到这里,ActiveSkin 控件的强大功能一定会让你着迷,以后我会再向大家介绍图二形式的界面的设计方法,也欢迎大家来信切磋,共同进步。
单 琦 作为一名程序设计人员,你是不是对用Visual Basic、Visual C、Delphi等开发环境做出的标准的windows程序界面感到厌倦了?虽然也有一些方法和技巧可以勉强做出一些个性化的程序界面,但费时费力,而且效果往往并不令人满意,下面我向大家介绍的由softshape公司开发的ActiveSkin控件可以帮助您设计出极具个性化的程序界面,其效果令人咋舌,快到http://www.softshape.com/activeskin 或者华军软件园的编程工具中下载一份,定会令你爱不释手。该控件适用于以下当前流行的开发环境:Microsoft Visual Basic 4-6;Microsoft Visual C++ 5-6;Inprise/Borland Delphi 2-4,图一是我用该控件开发的一个程序界面。我随便找到一幅图片,仅仅用了不到十几分钟的时间就做出了该界面(桌面上手机即为程序界面),该手机图形可在桌面上随意拖动,手机各个按钮可按动并具动态效果,按钮功能既可在界面设计之初定义,又可在程序中按常规定义。画面上的任何位置都可定义成活动区域并设定多种特效。好,下面我就结合该实例详细讲解利用该控件开发程序界面的方法。 首先准备一幅你喜欢的图片,这里以图一中的手机图片为例。用Photoshop等图形处理工具将原图简单处理,主要是将背景换成白色,并将图按需要调整大小,然后以该图为基础再生成两幅图,并将三幅图分别命名为LX1、LX2、LX3,格式为windows的Bmp格式。注意图LX2中几个按钮与图LX1的区别,图LX3是用黑色背景代替原图,限于篇幅,有关Photoshop的相关操作在这里不再详述。三幅图只在界面设计之初用到,待界面方案设计完成之后就不再需要了,所以不用担心会成为累赘。图准备好之后运行ActiveSkin控件包中的Setup程序安装控件并自动完成注册,安装完成后单击“程序”—“ActiveSkin”—“SkinBuilder”,运行ActiveSkin控件包自带的界面方案设计工具。在SkinBuilder 程序界面上点击FILE,NEWSKIN,然后按F6 弹出Bmp Browser窗口,在Picture 菜单中选择 Addnew,将刚才做好的三幅图依次添加到列表框中,如图二:然后关闭Bmp Browser窗口,按Ctrl +F2 添加界面主体设计框,然后按F2,在打开的Bmp Browser窗口中选择图LX1,然后按OK把该图放入主体设计框中。调整红色边框大小,使之与图片边界吻合。这时该图是有白色背景的,按F8,在弹出的对话框中Transp.map 一项添入LX3.BMP,点击OK之后主体设计框中的图片背景变为透明。见图三:然后按Ctrl +F2 添加一个界面元素设计框,并调整大小把它放到如图四所示位置。然后按F8,在弹出的对话框中Backgroud一项添入LX2.BMP,Rectangle 一项添入按钮坐标,参照图五,你会发现Rectangle 框中的109、73 两个数是由左侧数据相加得到的(此处非常关键)。见图五点击OK之后,你会发现刚才的按钮颜色已经发生变化,下面我们再给它增加一些特效。按F7,在弹出的对话框中从New script name一栏分别选择OnMouseIn 和OnMouseOut,点击Add按钮添加到scripts 栏中,然后在Script body 栏中分别给OnMouseIn 和OnMouseOut添加代码。OnMouseIn代码为stop; morph lx2.bmp 50 20 109 73 500 left , OnMouseOut 代码为stop;
dissolverandom lx1.bmp 50 20 109 73 1000 right ,两套代码中stop; morph和stop;
dissolverandom为固定用法,500 和 1000 为渐变刷新速度,当然你可依据喜好随意更改这些代码。然后点击OK 把鼠标移到大按钮上再移开,看看效果吧。按同样方法你可把手机图片上的其它按钮“激活”,只是要注意坐标输入问题。接下来还要处理两个小问题。在主体设计框中单击右键,点击Kind 中的Title,目的是让生成的界面可以在屏幕上用鼠标拖动。在刚做好的大按钮上单击鼠标右键,点击Kind 中的Close,目的是赋予大按钮关闭窗体的功能,其它按钮的功能可视需要在下面的程序中设定,但必须先给每个按钮起一个名字,方法是用鼠标左键点选按钮,然后按F8,在弹出的对话框中Class一栏添入该按钮的名字,本例手机1、2、3数字键分别起名为button1、button2、button3。最后在File 菜单中点击Save skin ,选择路径,给你设计的界面方案起一个名字,按OK存盘。在你指定的文件夹中会生成一个扩展名为.skn的界面方案文件。
接下来要做的就是把你设计的界面方案应用到你开发的软件中去。这里以 VB6.0 为例,运行VB并新建一工程,然后选择菜单中的“工程(P)”、“部件”,从控件列表中选择ActiveSkin 1.0 type library 然后确定,这时VB的工具栏中会出现6个控件依次为SkinForm、SkinButton、SkinPanel、SkinLabel、SkinScrollBar、SkinStorage,选取SkinForm(其它控件的功能我会在另一篇文章讲到),把它放到新建工程的Form1上,然后输入下面一段代码:
-----------------------------------------------------------------
Private Sub Form_Load()
SkinForm1.SkinPath = App.Path + "\Skin1.skn"
' Skin1.skn为刚设计的界面方案文件名,并且与当前工程在同一目录
End Sub
-----------------------------------------------------------------
Private Sub SkinForm1_Click(ByVal SkinObject As ACTIVESKINLibCtl.ISkinObjectDisp)
Select Case SkinObject.Class
Case "button1" ' button1 是在SkinBuilder 中给第一个按钮起的名字
MsgBox "you win" ' 此处视需要定义按钮功能
Case "button2"
'........... ' 此处视需要定义按钮功能
Case "button3"
'......... ' 此处视需要定义按钮功能
End Select
End Sub
存盘运行,至此一个漂亮的极具个性的程序界面就制作完成了,感觉怎么样?当然ActiveSkin控件包的功能远不只这些,限于篇幅,就先讲到这里,欢迎朋友们和我联系,互相交流经验,共同进步。