找回密码
 注册
查看: 5608|回复: 0

使程序界面具有XP风格(在VS2003和VS2005中)

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:
) p0 g1 q/ O, J4 Y$ F: h7 L
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:
, S2 f8 q8 R/ T<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
" o9 X" V2 U2 A( t<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
# v6 B8 i* Z* E+ a% I<assemblyIdentity 3 X* E6 K. i# X4 y' ^/ z7 g# S) j
    version="1.0.0.0" . h+ l0 j  M0 k3 H, N) [* y* C
    processorArchitecture="X86" & a, c: H& A9 Z
    name="Microsoft.Windows.ViPod"
- L7 z; f5 v+ f5 m    type="win32"
( Z  C, r' n  H4 U# k/>
- [1 C3 C, |( @: d1 ~1 L0 _0 @2 I<description>Your app description here</description> 1 I- j3 }. f' x  v
<dependency> 0 P; B# }1 y/ N8 {) b: t
    <dependentAssembly>
5 ]& n) W0 |$ _) T, q* Q2 ~$ O        <assemblyIdentity
2 x# \3 @7 [3 y            type="win32" ( s- W# T$ y/ d% Z3 I( O9 M$ O' I" h1 _
            name="Microsoft.Windows.Common-Controls"
1 ^) o$ |+ }+ T+ p$ `            version="6.0.0.0"
+ }" X  [/ k5 Z" x" k            processorArchitecture="X86"
, [+ v7 {  f7 F6 G7 ^9 e4 c            publicKeyToken="6595b64144ccf1df"
& x) D# [9 h  B, F6 `8 L6 X( b' y- G            language="*" 0 D% c7 S& f9 D: E. V8 T+ |
        />
& m" t# G5 l! h4 G: D9 T3 \0 @    </dependentAssembly> ; g: E7 [. Y, W; T8 z& o
</dependency> 3 o. R+ K4 S% K2 m0 T0 A
</assembly>
- B( C/ l8 c% g5 R- ^
3 V- W+ V, X- M; ~. |2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
0 Y; X4 L- o( G//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格  C0 K" X& ]! L3 G
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
$ @1 ]2 w  m8 q* Z9 Q
2 ?2 d4 q/ n; C3.在工程的C*App文件中加上; ^6 [2 A' O: N0 u# H% V
#pragma comment(lib, "ComCtl32.lib")      //3步是选做
% {4 V7 D, R3 L2 D/ v' d4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上- g$ R) ?3 T! n  e  h. k6 E
InitCommonControls();这个函数,V6的向导不会自动添加这个函数./ d2 n& Y* f7 N: M1 ~' B  X( B
//4步是选做2 R$ ?4 T+ a* W9 r! @6 u% H

" ~8 I$ E) G3 x+ U, u7 w* K/ z( c) q" F& J7 y' k
二、如果是VS 2005 则有所不同:
2 f. g$ R0 [* w/ U$ C) WVS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。; E% Z. B: c; ]6 Z1 s" X

/ f9 v2 J( f+ V" N' C1、建一个名为XPStyle.manifest的文件
; i$ p$ u6 M9 f$ B6 ~5 w% L; s) l2、把下面的内容拷到这个文件中) \: h/ t5 W# o' [/ I
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
5 z' O9 `" f  d; H( M9 C5 v7 h3 {<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">& r/ ]7 r) x3 G
  <assemblyIdentity
0 P1 n9 c2 D2 R0 }      version="1.0.0.0" - I; \; r, O4 h* j* I7 ]9 E
      processorArchitecture="X86" 9 k, s& l1 |2 u0 l
      name="Microsoft.Windows.WorkSapceName"$ v# _& D% n# I9 d
      type="win32"
/ l; i$ ^3 ]" Y/>
3 `8 I: B& g/ {2 M  <description>Your app description here</description>
& T  n% ]4 f' Y" L* ]1 ?4 ~  <dependency>% I3 H& n$ H1 {
    <dependentAssembly>+ \/ H% V/ `- N0 w
      <assemblyIdentity
) U; a( ~% B% e6 c/ d* i! N/ a0 m. g          type="win32" 6 E: W9 t( A$ Y4 V  `5 \
          name="Microsoft.Windows.Common-Controls"
/ A" F% B. w- G; k8 N2 [& w0 \          version="6.0.0.0"
: V3 a& H& ]! f% R( G# S          processorArchitecture="X86"
" W* W3 s7 B! M1 |, d          publicKeyToken="6595b64144ccf1df" , ]; [/ G3 e; y& g0 r. U
          language="*" / U2 S  N3 m6 Z+ q9 X. e5 A
        />: j3 a& i4 {& o* A# `' i9 i
    </dependentAssembly>, p) x5 H1 a3 G
  </dependency>6 Q& F7 K; U* `  H6 f" z; W
</assembly>2 [$ J( Z  h7 {1 L- G2 t, O, g6 z8 Q

( s+ ?' \  N7 Z6 h3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
- `; a$ J+ G; K$ L. d! X4 K
% _5 E- L' F( r; P4、打开工程中的Resource.h文件,加上:: `9 R5 n( h  G
#define IDR_MANIFEST  1
/ v6 J2 T' N9 f( R0 H#define RT_MANIFEST 24 . |& \/ I. }7 y2 H# v5 m5 D" A
6 g4 q: s! M! @  M
5、将工程的res\*.rc2文件打开, 加上:! G( l& Z2 b) b7 U& I
// Add manually edited resources here...
% y! L, Y+ @; n7 w9 i6 yIDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest", Y3 s, S4 n' L% ]: N0 @
0 }5 G0 M$ L: S' E

+ s. {5 \) y, f- z8 ^6、Rebuild.....就可以了。4 {* \+ i1 w+ D+ G
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|宁德市腾云网络科技有限公司 ( 闽ICP备2022007940号-5|闽公网安备 35092202000206号 )

GMT+8, 2026-10-2 02:26 , Processed in 0.017023 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表