
正文
vb.net换肤 vb更换背景
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
vb.net 2005 如何修改listbox滚动条的颜色
不行啊,除非重写OPaint()方法,不过这个比较复杂,所有的绘图过程都必须自己写,工作量比较大,你 还是找一下有没有现成的Com控件或者.net组件吧
相关问答
Q1: vb怎么加载皮肤
转载此出处
说到换肤,我们脑子当中可能就会浮现很多商业软件那些漂亮的皮肤,自从XP流行以来,程序的外观变得比以往更加引人注意,像Office 系列的界面,一直是很多程序员模仿的范例,今天我就利用Xtreme Suite Pro ActiveX 轻松的给自己程序加上皮肤应用功能,为我们自己的程序增色。
目标:制作一个具有换肤功能的程序,程序界面模仿Office 2007样式
一、准备工作
1、开发工具VB6,当然也可以用.Net,这里以VB6做示例
2、Xtreme Suite Pro ActiveX 12英文正式版
下载地址为:
Part1:
Part2:
二、工具安装
1、VB6的安装不多说
2、将上述下载地址的两个文件下载后放在同一个目录下,然后解压Part1,解压完成后,可以看到一个setup.exe文件,按提示安装,其中Sn在对应的文本中,注意我们选用的Sn为Xtreme Suite Pro ActiveX v12.0.1 英文正式版的,Xtreme Toolkit Pro v12.0.1是针对MFC的,不要输入错误。
现在假设Xtreme Suite Pro ActiveX 按照默认方式已安装成功,那边我们可以进入到下一步了。
三、正式开始
1、新建一个VB6的EXE工程
2、在工具栏上点击右键找到部件,因为Xtreme Suite Pro ActiveX 已安装成功,所以我们可以看到部件引用中有如下内容
(图1)
勾中xtreme SkinFramework ActiveX Control 12.0.1,此时我们的界面当中应该可以看到类似下面的图片
(图2)
到这里,我们的准备工作已完全准备妥当,下面是关键的代码,我们将其放在Form_Load事件中
Private Sub Form_Load()
Dim FileName as string
Dim IniFile as string
FileName ="C:/Program Files/Codejock Software/ActiveX/Xtreme SuitePro ActiveX v12.0.1/Samples/SkinFramework/Styles/Office2007.cjstyles"
IniFile="NormalBlue.ini"
SkinFramework1.LoadSkin Dlg.FileName, IniFile
SkinFramework1.ApplyWindow Me.hWnd
SkinFramework1.ApplyOptions = SkinFramework1.ApplyOptions Or xtpSkinApplyMetrics
End Sub
这里我们利用SkinFramework的LoadSkin方法找到指定的皮肤文件,然后再调用ApplyWindow方法,并且设置了ApplyOptions 属性,注意这里的设置其实就是SkinFramework的默认值。
按F5运行工程,出现在我们眼前的界面将是下面这个样子了
(图3)
简单的引用,简单的代码,出现在我们面前的却已经是如此漂亮的界面,到这里我们已大告功成了。
四、扩展
Xtreme Suite Pro ActiveX 的SkinFramework 不但支持以cjstyles为扩展的皮肤文件,同时也支持XP的themes文件,即以msstyles为扩展名的文件,知道了这点我们的皮肤来源就非常广了。
下面为大家推荐一个地方,里面有很多免费的皮肤
安装完Xtreme Suite Pro ActiveX ,官方即包含Office2007.cjstyles,Vista.cjstyles,WinXP.Luna.cjstyles,WinXP.Royale.cjstyles四个皮肤文件,同一个皮肤文件中可能包含几个配置文件,比如Office2007.cjstyles就包含NormalBlue.ini 、NormalAqua.ini 、NormalSilver.ini 、NormalBlack.ini 四个配置文件,可以放在LoadSkin方法的第二个参数中,就可以显示不同配置文件所达到的不同皮肤的效果。
为了读取皮肤文件所包含的配置文件,我们可以用下面的方法
Dim Discription As SkinDescription
Dim i As Integer
Dim FileName as string
FileName ="C:/Program Files/Codejock Software/ActiveX/Xtreme SuitePro ActiveX v12.0.1/Samples/SkinFramework/Styles/Office2007.cjstyles"
Set Discription = SkinFramework1.EnumerateSkinFile(FileName )
For i = 0 To Discription.Count - 1
debug.print "IniFile:" Discription.IniFile(i).IniFileName "/ColorScheme:" Discription.IniFile(i).ColorScheme _
"/FontSize:" Discription.IniFile(i).FontSize
Next
写到这里,我们才真正搞定了皮肤的开发,为了大家的使用方便,我特意写了一个示例程序
下载地址为:
另外这里包含了几个皮肤文件:
有兴趣的可以参考一下
Q2: vb的界面很不好看,怎么办?
vb.net换肤我做vb.net换肤的程序也不怎么难看啊vb.net换肤,主要是多弄些图片。慢慢搞。
Q3: vb.net使用Sleep后有些代码没有执行!
在VB.NET中,带框架窗体的大小是不能为0的,要想做到高、宽都为0,需要自己重绘一个无边框窗体,用外置图片来绘制,配合PS做一些图片,既可以换肤还能做的很漂亮。
按当前代码修改,你把下面的代码粘回去就可以了,窗体的高和宽达到最小时,循环会自己退出,避免无限循环;
Select Case 2
Case Is = 1
Dim w As Integer = Me.Width
Do
Me.Width -= 5 : w -= 5
Threading.Thread.Sleep(3)
Loop While Me.Width = w
Case Is = 2
Dim h As Integer = Me.Height
Do
Me.Height -= 5 : h -= 5
Threading.Thread.Sleep(3)
Loop While Me.Height = h
Case Is = 3
Do
Me.Opacity -= 0.05
Threading.Thread.Sleep(120)
Loop Until Me.Opacity = 0
End Select
关于vb.net换肤和vb更换背景的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








