找回密码
 注册
搜索
查看: 5255|回复: 0

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:
  z' X( ]( ]) y7 T% w5 K
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:
( {; K* ~- z; V<?xml version="1.0" encoding="UTF-8" standalone="yes"?>4 [$ {& N3 t9 r
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
% A8 O' c5 A6 \+ F3 w/ d2 k0 K+ W: u1 \<assemblyIdentity 8 N7 S2 V: i# A3 H/ I/ v
    version="1.0.0.0"
# L* P1 g' K: s4 i2 f& [' d    processorArchitecture="X86" & b4 a5 M. v" T2 b
    name="Microsoft.Windows.ViPod"' P) f! {0 A+ {3 T5 J3 W( Q
    type="win32" 2 `# O3 ]  t% o6 D# }" K
/>
5 v' c* a0 j5 |( |; x<description>Your app description here</description> 3 V, l$ O4 C4 J+ v/ ~1 z7 V4 {5 S
<dependency>
9 I# X% [3 e1 r2 I: ~    <dependentAssembly> & C  V- f$ ^! {) ]5 `
        <assemblyIdentity
5 C& a0 O  Y% i- P* B. g3 F- A            type="win32" " h3 c6 K* }( X5 H
            name="Microsoft.Windows.Common-Controls"
' z- g- i9 S) o            version="6.0.0.0" , S% O0 w* ^1 s7 k- ?
            processorArchitecture="X86"
5 N/ [- T, E  }- g' w3 Y+ F. N            publicKeyToken="6595b64144ccf1df" 9 |$ d  r' {8 s, K' @
            language="*"   i# s" `& m2 Q  f& j
        /> ; i+ \, C3 ?: d3 W; m& k; t
    </dependentAssembly> & K. ~) F  l4 S5 g% b8 c- h9 p7 R
</dependency>
$ s/ t: E- c$ [6 f- l+ E9 ^' m) D</assembly>4 J% S3 ]3 {+ ]/ t5 u
0 G6 F- Q! d! {- L5 C+ N3 A
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
3 |  `+ n, Q" Y( S: u  g& G; F0 J//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格
9 g; h; e+ ?; ]( V$ ], J# `CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
# ~5 H3 a- p/ d5 X2 V9 ?4 {) L# n+ P( `  o1 L5 o
3.在工程的C*App文件中加上; a  T3 @  n: I- v
#pragma comment(lib, "ComCtl32.lib")      //3步是选做2 ]( j' D2 ~* @3 g
4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上& j' G5 ^6 J; S! a- F7 g; \
InitCommonControls();这个函数,V6的向导不会自动添加这个函数.0 V  T! J; O3 D7 |- p8 }- p5 K8 T
//4步是选做
" Y: ^( i1 E- @# D, ^+ q) ^4 r1 x+ n
* d' Y7 c& U- A0 c8 N  [) |5 w& {3 a, u% _+ }5 @
二、如果是VS 2005 则有所不同:) |# S$ |- I$ |# F* `) h
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。. h& c, y% A$ ~" b* M. U
& w4 J  ]; n& k% m$ b8 ?# x) l
1、建一个名为XPStyle.manifest的文件: M) M/ G# l4 T
2、把下面的内容拷到这个文件中, m! O5 {, C7 t/ |" U  J. C
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>. m# `# h, L  x* q6 |$ g+ {
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">2 H! X5 S( w1 y: Y) O
  <assemblyIdentity 7 p9 K" G2 N$ e
      version="1.0.0.0"
7 d1 l# `. h3 t, t  \      processorArchitecture="X86"
& p$ h  n3 {+ a( _6 F      name="Microsoft.Windows.WorkSapceName", M( B+ E9 q) e. g
      type="win32" $ g' \0 _" F5 i: k, r
/>
( P3 Y+ p  N8 k0 E) \7 ]8 h" m4 t8 _! ?  <description>Your app description here</description>
$ @. S; q2 [% Z4 D  <dependency>- x, Q) A7 {' f1 P
    <dependentAssembly>; ~$ z6 _' b- L, b, c3 K+ W, ^
      <assemblyIdentity $ d( p$ `: Q+ {* Y5 `
          type="win32" 3 M8 g( Y! F0 {$ ?$ H$ h8 X
          name="Microsoft.Windows.Common-Controls" 6 B  F( {( q: \3 k: J* k9 S
          version="6.0.0.0" 7 i1 e& F8 h/ l
          processorArchitecture="X86"
. }  S2 ?  ], }2 J% x1 i6 l' J          publicKeyToken="6595b64144ccf1df" + c; J, q/ g/ K  ~) j* \
          language="*"
: J" V0 o) Z6 Y        />/ Z5 V$ N$ j; x# ~' t% e
    </dependentAssembly>
0 E: A9 }6 P, J; F0 r5 v+ X, z  </dependency>
2 V5 L# f; J/ p1 W1 B2 x! _</assembly>
. M! t- Z* O# w* n4 ?9 Z$ N8 Y& @- @4 U! k% Z
3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。4 D! p9 D* x" L
( B  Y- a, J) M7 u& s( }
4、打开工程中的Resource.h文件,加上:0 G2 K# r; ]7 n! H# K3 U8 t
#define IDR_MANIFEST  1 # i9 e8 c4 n9 {
#define RT_MANIFEST 24
3 D* A5 J6 M( M; X; A
- c9 E( m, Y0 z5 v& y) s5、将工程的res\*.rc2文件打开, 加上:9 d  }* f! d4 O; `. k+ h' v
// Add manually edited resources here...
4 ^- ^7 y2 R4 `! r3 E6 DIDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest") {7 Q6 A3 k/ r) w& c$ v" c
- n- @+ ^  ~% B+ U9 H
. {0 m. Q4 ~' c8 u0 n. B
6、Rebuild.....就可以了。
+ d  _# |5 g% s& a(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-30 09:01 , Processed in 0.035040 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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