VB程序不能实现XP风格已经不是一个新话题了,一般都通过使用图片或ActiveX控件的方式解决,但这样不是真正实现XP风格,只是模仿而已。另外一种方法使用.manifest,这种方法的缺点是在exe文件之外还要有一个.manifest文件。这令人很不爽,特别是在做一些小工具的时候,本来就已几K的EXE。有没有什么方法把.manifest整合到exe里呢,通过GOOGLE,终于发现了解决的方法。
特别说明:
1。要看到XP风格你的系统一定要是XP,而且XP要用XP样式。
2。一定要在编译为.exe文件后执行时才能看到效果,在VB IDE里是无效的。
实现的方法。下载附件的"XPStyle.zip",在工程资源管理器窗口的空白区域点鼠标右键,选择“添加”->“添加文件”,选择本文附件中的"XPStyle.res。
第二步,在程序中声明API函数InitCommonControls,声明语句为Private Declare Sub InitCommonControls Lib "comctl32.dll" (),
在启动窗口的Initialize事件中调用此函数。
注意,是Initialize事件,如果在Load事件中调用此函数将造成窗口不能被正确加载。现在将其编译为.exe文件就可以看到效果了。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
代码
_______________________________________________________________
Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
Private Sub Form_Initialize()
InitCommonControls
End Sub
XPStyle.res XPStyle.zip
demo demo.zip