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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:7 h# l! `% _) i) G, x2 _/ n
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:  l% G9 j+ B: m
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>/ ]0 V% s" @  g. Q0 Y5 `
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
2 j1 |& W! W/ \3 i; F<assemblyIdentity ( x8 }) g2 p+ R2 s
    version="1.0.0.0"
4 M& c  P+ f0 D: _( }    processorArchitecture="X86" ) j2 L# ~! \/ `0 w+ v. w5 e
    name="Microsoft.Windows.ViPod"% ?1 C6 h. E5 K6 j  G* T! k6 @: ~8 }
    type="win32" ; s/ Y! Z& J; [4 u% A$ y) C
/> + H# U6 C) h5 q% z5 k# o) o
<description>Your app description here</description>   k' {: A. z4 {3 @" \2 a/ P
<dependency>
3 S/ N1 h( O  o2 b( P8 f4 `    <dependentAssembly>
0 Q+ n9 `0 H2 @7 d. }        <assemblyIdentity
6 M& ~2 l+ X# Y: Q1 Y            type="win32" 1 D$ [+ }" x$ j. {* a6 Q
            name="Microsoft.Windows.Common-Controls"
) y9 ]  v2 R7 Q            version="6.0.0.0" ' `0 [, U# G4 w
            processorArchitecture="X86" ; o1 j5 p; ?( _* P
            publicKeyToken="6595b64144ccf1df" ! S* }. S5 K; }+ p
            language="*" . A7 \5 {8 p$ e; P' E+ K
        />
, ^9 l& N1 i4 O% `8 }    </dependentAssembly> ( {0 s6 O( j& E3 R- v! U# z; J
</dependency>
+ Z. N% ^! n* v6 J</assembly>
; w& b/ I0 N( {8 I
7 W& [2 \5 y- W8 e9 s* E1 o2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):4 F7 l7 z9 f- C4 @' r
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格$ j9 L0 F% D& x( h% c
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"1 [5 z% y/ V* M; Z8 R
1 N9 e. q; d2 J  _1 u* l
3.在工程的C*App文件中加上
$ u1 u7 E) v6 P( p#pragma comment(lib, "ComCtl32.lib")      //3步是选做& b- s) ]1 `5 s9 p5 C! `* s
4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上& [- {% K0 }9 J; l0 k; t
InitCommonControls();这个函数,V6的向导不会自动添加这个函数.' `3 I: C7 N# l# {3 b  c
//4步是选做
1 b. n4 }- x) Z  O" J3 q1 K6 a2 v
) d$ G% d4 ~0 q. q" I" A8 [! J( A: G2 e" Y) \" G
二、如果是VS 2005 则有所不同:
5 ^! u; V  T! \: B$ r* OVS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。  ^  g! @+ I- ~2 x; z  s
# O; g2 t8 z8 J5 [. M& L5 R
1、建一个名为XPStyle.manifest的文件
" Z0 g  G: @0 U# n1 G: |( P2、把下面的内容拷到这个文件中
' G+ }% ^7 I  n) ^% x. h, F<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
: `0 K. U7 M& V- T# G/ l4 c+ K<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">3 Y) X" U: {7 B9 y+ E- ?
  <assemblyIdentity
$ o& ~4 ?& E( Z' A" I* H      version="1.0.0.0"
* i6 l2 y% e3 C% H& e  ?' s9 i4 u7 c      processorArchitecture="X86"
/ [/ S, ]3 c1 b/ a& S) A- w      name="Microsoft.Windows.WorkSapceName"
0 o# g/ l3 N6 m! C0 N      type="win32"
' f" Q2 L& Q& h/>6 s- Y& I6 K7 \* [1 o$ k, f
  <description>Your app description here</description>
: B$ H; V7 o- r( J9 {  <dependency>
) p& k6 }) D. p/ A* ]8 ^/ s- m    <dependentAssembly>
0 T3 q+ _1 y9 r      <assemblyIdentity ) k. ]8 ]" R& P& v( H2 D& j+ f
          type="win32" ; V5 P2 I0 T8 I/ s1 H7 t
          name="Microsoft.Windows.Common-Controls" 2 @- k+ g+ W: B; B* j
          version="6.0.0.0" , J9 ^: W. t' h$ L1 Y/ n* j0 P/ O: c
          processorArchitecture="X86" # e1 U3 K; q8 I$ g" c+ A7 L
          publicKeyToken="6595b64144ccf1df"
' [5 Z3 g" }; S% Y& @. [( r          language="*" 9 A" K3 P) T; g0 n3 b4 C
        />0 Q7 Z- o2 Q$ R% t, T  {2 p5 _0 K
    </dependentAssembly>5 t; w$ m" w) B$ ~+ o
  </dependency>
  O/ A' _- l) y- E3 B, j" b/ Y</assembly>  R# H; Q  q9 D
7 g+ {% \! i, O& H# @
3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
0 P7 z" x4 T4 `2 b: y) W1 x
9 k8 K0 P) X2 b4 c9 s( P4、打开工程中的Resource.h文件,加上:. n! o; f$ ]" q% i( ~
#define IDR_MANIFEST  1 ; w9 a3 x; A: P  d
#define RT_MANIFEST 24 $ y! ]7 Q# O; ]* W$ ~8 q7 m

" ~3 p' y3 v4 i' u8 \1 x2 _! _5、将工程的res\*.rc2文件打开, 加上:
: ^1 [! ^6 g; ]" ~// Add manually edited resources here...$ J7 ~5 f* m* j3 z5 S5 O
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest". H! A9 I1 h; D$ B: D- a# d! o) N" @

/ i/ E/ x0 n& i# d& g
- y# d$ @* {2 \, s3 B6、Rebuild.....就可以了。( F+ r% q* d! i( E
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-14 16:23 , Processed in 0.017713 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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