软件简介:
, F! I: V7 l V9 w( c4 B- |大家好,我是小鸟
& r( H1 t8 t3 X* Z$ \: e7 r$ l大家在使用VB6.0在XP操作系统下生成的程序的一些按钮控件样式还是VB自身的老土样式,为什么在漂亮的XP系统下无法生成和他一样漂亮的界面呢?这需要一个manifest文件,熟悉这个文件格式的朋友可以手动生成这个文件,但不熟悉的怎么办呢?
5 ~+ E' A: P4 I" K! Y% h$ P今天在浏览黑鹰网站时看到了一片文章# E: W- s' O7 t# o$ e& M
; K% z4 J* f5 w
VB编程实现Windows XP风格的界面
% I4 M F R) @- _1 a$ h* i: f$ L: v
! p# A. \# m" H) `; rhttp://www.3800hk.com/Article/cxsj/vb/jcjcvb/2007-04-02/Article_125990.html: w3 u" J+ Y2 v0 |0 a3 y' t
这是文章的地址
# n4 n% q# K+ Q& ^ f' G' a) T我试了一下他所讲的方法并不成功
" V# j' i* R* f5 \2 \所以在网上搜了一下相关资料,发现文章提供的代码出了点错误" C n5 r. f9 I# P9 G7 w
<?xml version=1.0 encoding=UTF-8 standalone=yes?>; X N; V! R" v1 u; c x
<assembly xmlns=urn:schemas-microsoft-com:asm.v1 manifestVersion=1.0>! r5 R$ `7 D- m/ S. g9 {2 ~
<assemblyIdentity
- `6 R& \$ W! a% Z) i6 J! E3 uversion=1.0.0.01 X' L0 {1 m$ C$ K, ?7 o
processorArchitecture=X86- n0 Q8 l- E2 H) ^" S- h
name=CompanyName.ProductName.YourApp6 j$ M) ]# r, B2 {$ Q, O
type=win32& ]7 @& }& @2 ?, u# V0 f2 u
/>
6 c2 S! `8 n8 P# O d<description>Your application description here.</description>
+ M, j8 Q2 j+ H# N<dependency>8 m* e% q B4 A5 v! Y
<dependentAssembly>* A2 ]: p# o: j* H) b* y
<assemblyIdentity
/ i' E+ U% l' n( ?: R1 q. n type=win32
- @" Y, t. L3 V( p name=Microsoft.Windows.Common-Controls
6 `8 a: m! e5 ~) L version=6.0.0.0
5 h! S$ l; m2 e0 B) [ processorArchitecture=X86
: E) H2 f( Z+ b/ j! f6 c publicKeyToken=6595b64144ccf1df
! l8 _; S1 j% j( ^! o: z language=*1 t; [" c) {# ^; O7 F+ H
/>
5 q C9 c1 Y o3 |6 K& d+ o</dependentAssembly> H% o5 s; N9 h& B
</dependency>
4 [5 g4 N7 ^( g) I& q+ p1 R</assembly> 5 f# V D" P3 x, }
以上就是出错的代码,应该改为
8 l- Q) I) i$ x) A?xml version=1.0 encoding=UTF-8 standalone=yes?4 I* {% v$ _2 t9 [
assembly xmlns=urn:schemas-microsoft-com:asm.v1 manifestVersion=1.03 p b$ f3 T: P& L
assemblyIdentity name=WindowsShell processorArchitecture=x86 version=5.1.0.0 type=win32/. C& H+ v+ K4 A
descriptionWindows Shell/description% S' J: G! T& l6 C' I; }5 _$ T
dependency7 m1 F$ \+ D$ b, j Q: ]
dependentAssembly
* R m$ o3 [. x4 P2 t1 L* l% d assemblyIdentity
# K7 ]1 R/ H: T) r type=win32
# L t6 ]. m" [- P; I7 f* D name=Microsoft.Windows.Common-Controls! Z& R$ D l( ]) W9 ]0 U
version=6.0.0.02 p5 w9 X; Y9 C5 ]* e
processorArchitecture=x86 9 U, n7 F' N5 I# S
publicKeyToken=6595b64144ccf1df
L* ]9 f3 F. ~5 s language=*/ n: k" n; s, D! g+ J v
/' A' P p, L2 Z) i% Z( j8 _
/dependentAssembly
! d$ `9 m6 c8 x) z/dependency
% _1 x/ O9 l! E# V/ d: \0 j; t% I/assembly
9 x9 ]8 A: P' G% M好了,现在,我就来编写一个vb程序来实现这个方法
/ j: t! P# Z" ?4 J; H9 m3 K大家看我操作2 e$ u9 |1 F( l9 ?4 H
好了,界面设计好了,我们来写代码
' [+ j& e8 q! O0 c7 ?9 X' N保存一下
! Q! v# w$ n3 e) X4 O- @程序设计好了
; b$ X9 F T1 w% [" x5 ~我们来试试这个程序的效果
$ T# C% ~; O$ s0 \4 Z+ T, k现在就用这个程序来做实验* b& o5 @: s; P( B% ]
不过要在这里写上必要的代码
( R& I6 \/ w. u& m: Z- E0 X不然就不能成功了
% b0 j$ R& H j( Q/ EPrivate Declare Sub InitCommonControls Lib comctl32.dll ()
$ V+ Y+ W% g9 a, fPrivate Sub Form_Initialize(); D4 K6 e% Y, J- L% X$ F
InitCommonControls
4 Q1 I% l6 x! x m9 {; C9 AEnd Sub- n$ r" b; I' {; R( y
就是这个 e A; q+ B: P; ]
如果程序是多窗口,可以把它声明在模块里, {' {; ]% N) i4 d
先在把它添加进去
; R' F5 e% l+ P- i3 h7 L可以了
E% Q% Z- o3 G9 o; Q! \! l我们来试试3 {6 R- U: O+ \
这是原来的程序界面' j( Y3 B7 z1 I. l6 T1 Y
看到了吧
4 u; l: {# I& @# _0 b' S2 t前后效果查大了吧* l5 Y% p! z3 G4 ~ n9 e3 N8 y
教程就到这里吧
1 x# Z! q$ a' y6 g% t* U下载地址:
|