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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:- d' t% G. E7 m5 t, X
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:
3 d- F' g; {- u. \* a. {) f) j<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
; E/ |, g+ l! C8 E6 t<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> : ]. z  x6 c! {' i, i
<assemblyIdentity + Y! }( ~1 i  y0 B8 l/ g
    version="1.0.0.0" 7 V. j* P* c* A4 J/ c& V
    processorArchitecture="X86"
6 y+ D/ d. o6 G% _    name="Microsoft.Windows.ViPod"
6 j7 \6 Y9 Z7 G) v4 j    type="win32" 0 [# z& p7 `! m7 M) c
/>
* }# G1 Q) @: W1 M& q7 O, z<description>Your app description here</description> 1 s& }9 f' l+ k" T1 H$ R
<dependency>
, B6 q7 G( ]8 n! ]    <dependentAssembly> 1 n9 z. S' T3 L$ I
        <assemblyIdentity
% I6 m: @9 ~: d" d            type="win32"
8 V1 n" B% n  R* @  O7 A            name="Microsoft.Windows.Common-Controls" ; H7 x5 F( L# A7 g# B, a
            version="6.0.0.0" 9 W5 d$ x- ]! G2 Y
            processorArchitecture="X86"   ~! B4 i; ?/ x& }, c3 J6 U
            publicKeyToken="6595b64144ccf1df" $ q5 v& s. e* j! ]% o. r
            language="*" & m, m% M" s9 X* W" e8 [3 r
        />
% H1 |) L+ ^, ?* x* \$ q    </dependentAssembly>
; Y: [) V( |2 I# h6 s$ t) g1 y0 P</dependency>
/ ?/ o2 t5 t0 d. S7 H</assembly>: D  b; Q! F" {1 _( T; d: k$ ^

8 L3 G3 j, J7 ^1 {* }7 f7 i0 T2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):6 G: f& Z0 m) G  s. W* U
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格' @6 {4 o4 Q( H# U8 g. h
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
7 `# j! ^) o0 `2 R) k1 c5 ]& o( {; M' Z/ H7 g. P3 ~" R$ a
3.在工程的C*App文件中加上2 k8 X$ F& U4 _6 J
#pragma comment(lib, "ComCtl32.lib")      //3步是选做
& N% e% c7 q5 p# G4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
% k! o5 X% ]6 ~7 {* N- T' n9 NInitCommonControls();这个函数,V6的向导不会自动添加这个函数.
& S# {2 O# t7 r6 U8 k. z/ m0 q//4步是选做9 T8 Q) _' @: P1 n  H' i

) F, @; T# M8 `. e" d/ c- ^$ u. Q3 E7 Y- |  {5 X. A% s
二、如果是VS 2005 则有所不同:7 }& ]- U% t7 i( a; {" [+ ]
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。
5 n4 R( k1 u: q+ j- |
; t( {% A2 N; i+ k  H- z9 v+ Q9 v1、建一个名为XPStyle.manifest的文件
  G, G' A& ?. K, }' `2、把下面的内容拷到这个文件中
- y' i2 q& ^8 o: @" s/ x( h<?xml version="1.0" encoding="UTF-8" standalone="yes"?>; h3 y- ~& [/ d# I0 T% {( T( _' f# d, T' L
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">, X6 M- K- i" h1 `
  <assemblyIdentity
6 i7 Y, N, o! Q      version="1.0.0.0" 3 D1 z7 S+ T& @2 `! k- J
      processorArchitecture="X86" 6 V' K8 q# p8 R
      name="Microsoft.Windows.WorkSapceName"/ q$ P& y; W- J7 w9 _( b
      type="win32" ! Q& l0 c4 |% W; j
/>
' Y; ]- f' n# I  <description>Your app description here</description>
3 n) x2 `# u+ H: a2 N7 q: D+ \  <dependency>
5 \* G3 E1 a9 B    <dependentAssembly>6 v- O8 r% m5 e! X) N9 O) _
      <assemblyIdentity + L# m' r# A/ r; N
          type="win32"
7 P" U% _& O5 {# T1 K          name="Microsoft.Windows.Common-Controls" : b/ {& X7 i  H" k+ u
          version="6.0.0.0" ! W2 ~7 n; I5 j7 |" v9 I2 {
          processorArchitecture="X86"
' n6 W, a: j+ `% k  H# ~3 Y+ h          publicKeyToken="6595b64144ccf1df" ) E+ @  k6 s* l( T+ ], s2 _7 j
          language="*" ' {; ^- P1 t* {- H4 P! W- W- R
        />
9 |) Q; f4 s7 v, S9 w    </dependentAssembly>
$ s+ h4 O3 E8 {1 s: ~  </dependency>: G$ N6 P2 o# P' I6 r! v; ]
</assembly>
- M1 R& w# ]1 q# M8 i7 R/ w9 r4 E) E
3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。8 V3 w% L! O& Q* U/ g+ W* d

, ~+ K$ _: p6 ]7 T( i  K4、打开工程中的Resource.h文件,加上:+ V, \/ c" E  N* _9 Q
#define IDR_MANIFEST  1
! W7 F% V6 ?$ ~* N: D; N#define RT_MANIFEST 24 % i& j4 P5 k( c; F, U

* F* P" ~1 D  f6 d9 m5、将工程的res\*.rc2文件打开, 加上:4 f( e& O: @% b6 _- t% r  c
// Add manually edited resources here...8 s3 A4 c3 G; n. s2 p
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"9 b- [" D/ ~9 [5 l2 R! t1 N
! Q/ s. Z! h) V% [' \

: L0 Z! Z: W. h( |% J6、Rebuild.....就可以了。
- [6 \  H( d9 \7 s- c6 l5 }(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-14 00:54 , Processed in 0.020409 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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