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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:$ a9 z% }$ \/ d" ?( Q7 E* g
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:2 Z# L% E: d% M0 }& T: T- P
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>* [3 p* R+ n7 B, V1 Z
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 8 U' f1 s. `6 w
<assemblyIdentity   l, h* `8 s! ~6 w$ i2 [  ~0 e
    version="1.0.0.0"
# X6 C+ p, K2 h. [, e3 W+ [    processorArchitecture="X86" & }* z/ E& S  I$ d) [
    name="Microsoft.Windows.ViPod"
7 g/ u4 O* p% {- _; t* S) V* I& U    type="win32"
/ M( [6 n! t8 z# G% `/ _/>
, D( `  x' B7 U9 f<description>Your app description here</description> - ^6 Q0 d; X0 s  h7 {# f$ |- ?& n
<dependency>
( z' |2 X8 P2 N3 K# j1 P    <dependentAssembly> $ O# s" F2 }0 ^( ~) A8 p
        <assemblyIdentity . \. B9 f& W- k6 B/ l# ?0 c. n
            type="win32"
. y0 u1 P# v( e4 X% Z) ^            name="Microsoft.Windows.Common-Controls"
# A$ s4 F/ I9 J1 V            version="6.0.0.0"
6 f- V& N6 ]0 r2 V            processorArchitecture="X86" : _4 L: {$ `$ O/ Y2 n5 N, Y
            publicKeyToken="6595b64144ccf1df" 4 m( k" O, t1 o: }' v- x+ C- _% P
            language="*"
- v7 s* y+ ^- ^        />
1 w! \/ z4 L' v# {. i/ l6 f    </dependentAssembly> ' T2 n8 ?: M& q
</dependency> ( p1 l& m' U% y# s
</assembly>- L7 ?! S- C* Q! w4 S$ c4 N, A
  U. v. y1 e( c, }$ s# H, [5 u
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
) v- M' \$ L9 _. Z+ s//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格
6 v5 G7 H9 q0 S" I7 a7 eCREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
  v& o) H: e# B4 L" Z: P
# D( g( B, e6 @& l3.在工程的C*App文件中加上- ~6 {* x% Y& c) o+ C% C
#pragma comment(lib, "ComCtl32.lib")      //3步是选做
! c; S) i- a- h* x( I; c- @2 H4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
& U  a5 [9 u/ u/ B, }- k5 b: R% nInitCommonControls();这个函数,V6的向导不会自动添加这个函数.
3 _7 c; U/ e  c( p: |: d( Z% ^7 R$ t6 {//4步是选做
( E4 T. A% B4 k/ Z. c# h: J
% I/ ~; J8 _3 g& p
, T% b; V9 ~) _: y* a二、如果是VS 2005 则有所不同:! O3 z$ z! ^" r0 k, ]
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。
" N: h+ ]3 F: Y3 x) i- [% ?+ z; W0 y' c$ \1 E% c2 F! m
1、建一个名为XPStyle.manifest的文件
3 q) c+ N/ K! G+ W2、把下面的内容拷到这个文件中
9 s, _: J: G# A1 G3 P% ]) a<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
9 v5 t3 z( M  y& D8 b( V4 m<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
9 q& m1 x& j$ W  <assemblyIdentity
' o1 M5 a- Y4 o2 o6 t      version="1.0.0.0" ) Q0 K) Y  h2 u6 |( K' w% W
      processorArchitecture="X86" / g* h* f; D" X2 u5 |
      name="Microsoft.Windows.WorkSapceName"
2 x, e* c( U5 U1 C. o* f! T* l& J3 O      type="win32" + g$ L; z: g' Y9 w% I0 Y% t
/>+ s/ s3 J: r6 n- x! a0 J. g9 i
  <description>Your app description here</description>* e  W2 T( Q1 Y+ v4 D
  <dependency>5 ^; V# k/ R$ [* D" ~
    <dependentAssembly>) j+ J3 H& X# |
      <assemblyIdentity & r% o- Y9 M5 B/ K( |5 n7 @* x5 N
          type="win32"
/ H! m& V8 F+ ?          name="Microsoft.Windows.Common-Controls"
; a! x5 Q6 ~% e+ [8 ^          version="6.0.0.0" 9 F. l1 K$ Y" j; L
          processorArchitecture="X86"
! \, a! Q* w7 F, m# ~, W          publicKeyToken="6595b64144ccf1df"
- S' }3 q  l3 o5 [$ O          language="*" 2 a- N: ?# t% b" b4 E
        />% q: x4 s, c* |% L
    </dependentAssembly>8 r  R; U3 ~. a  n! W
  </dependency># F  m. @* J1 a
</assembly>7 B0 u$ |+ y& z( o: `$ j
; J# J" @4 |1 `" w9 J' B) I5 H+ x8 s
3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
! @7 X, u/ Y0 E( Z/ i
& l# S! S' v' d. u7 \4、打开工程中的Resource.h文件,加上:1 r+ Z1 }; i  b4 M
#define IDR_MANIFEST  1
1 a9 r* j; N$ t1 o% O#define RT_MANIFEST 24 % W# K9 A0 _+ B6 r

6 E4 p) A6 J; F$ Y- L' t- f' `% D9 o5、将工程的res\*.rc2文件打开, 加上:
9 J& C; ?, M  d* A* k" |/ T// Add manually edited resources here...8 T1 P8 g+ I) f7 G/ H
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"
5 ], O# e% e: \! N# b9 e" S9 g' p
, F. {+ R7 E) ~
- f2 \$ w. V$ p6 T0 a: x! J4 Z6、Rebuild.....就可以了。8 ^& Y  F0 P5 s; B( n# ?+ P6 X# w+ @
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-13 20:18 , Processed in 0.022445 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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