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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:% ]+ L/ n* A( W- u+ g( u; s# J
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:% i, N4 p8 n, G. \* S
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
" b) X0 S% z4 q9 g' A- |( F<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 7 U; @7 ]& v! L
<assemblyIdentity 8 ]$ U5 \# c1 _) P8 r, V& o
    version="1.0.0.0"
! y6 B; z0 Z2 c" e4 Z3 k3 T    processorArchitecture="X86" * |7 J- L' d0 Q, Y; P* v& O
    name="Microsoft.Windows.ViPod"/ S. X' i' X3 K3 E
    type="win32" " J8 ^9 S0 k$ v2 r
/>
# I! c; t5 H; t  q<description>Your app description here</description> & C. Q: n9 u3 w8 Y( \; \# q, W" Z; F
<dependency>
$ {0 F" [" f1 x% K    <dependentAssembly>
6 B3 U$ b# h; ^. i" Z        <assemblyIdentity 1 B. n; P! J; I9 M1 W
            type="win32"
" r- _; W2 a; e8 G            name="Microsoft.Windows.Common-Controls" ) ~' W; I1 D$ I/ n
            version="6.0.0.0"
1 i0 Z0 L7 z, _: B  H            processorArchitecture="X86" 7 F8 _4 H( I5 h
            publicKeyToken="6595b64144ccf1df"
9 k  P/ C# h6 _; K7 l* s) ]            language="*"
: [/ ]. A, }- |* V        /> & d6 I; S) C4 i4 S4 }- F# Z% Q
    </dependentAssembly>
5 K8 Q2 g6 Y4 F, D$ S# g</dependency>
5 R2 G! R! \9 @& W</assembly>1 I! I/ ~9 h1 D
9 Z/ |- K: F( M( z2 \+ q# s
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
! E% f; ]/ N. @//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格6 _( k; O' O! {* _
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
6 @( w9 V- `/ s5 {
0 E# P8 _" }/ S) q4 z3.在工程的C*App文件中加上
. o. g3 ~5 y+ q7 x  G' I#pragma comment(lib, "ComCtl32.lib")      //3步是选做
% g7 |  H' O8 l( y9 [4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
- \. ~1 t; R9 U5 U: c' A7 q! y4 o1 zInitCommonControls();这个函数,V6的向导不会自动添加这个函数.+ }- ?$ ]9 b0 ^+ ^# S4 Q" s5 A! z
//4步是选做
" e+ e# i, ?. f2 k0 M
0 w9 q3 i; f3 M3 u; c7 M
4 Y8 D, J" t9 `7 p' y3 @9 E( l二、如果是VS 2005 则有所不同:# U; w3 c, N( K/ V0 O$ p/ t& _
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。5 a# z  o8 d6 M8 Q# P* ^
$ D8 U% O7 o! k) a- k/ V
1、建一个名为XPStyle.manifest的文件
2 {, R8 t' B' S% q, e2、把下面的内容拷到这个文件中6 W+ ~+ {/ C6 X) w9 U0 }+ T. k
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
3 G# r  `7 z% S, ~7 b7 o$ {) V<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">/ w# H! F5 [  W
  <assemblyIdentity
* b" W2 G. b- B, h      version="1.0.0.0" $ o, n+ o/ ~0 x
      processorArchitecture="X86"
5 Z, I6 v0 s4 B5 S: ^      name="Microsoft.Windows.WorkSapceName"
) d, l3 s9 q+ ]6 k7 f( j) c      type="win32"
# F0 f, Z& b0 O/>* ^2 l) d: Z% D& x6 p; f
  <description>Your app description here</description>
! L: v1 v- S8 M5 }  <dependency>
1 ~$ [- b5 A' P) y    <dependentAssembly>
# Z( |, R# I/ P      <assemblyIdentity / I2 v9 H; \6 x  b) _- U
          type="win32" . K% S4 x* S. v
          name="Microsoft.Windows.Common-Controls"
+ h8 v( j% q; Q" r/ m& ]6 N          version="6.0.0.0"
2 G; I/ Y; P0 T4 }8 }; ~) a          processorArchitecture="X86"
$ e% a$ R7 k( }          publicKeyToken="6595b64144ccf1df"
  k! N  N0 N* e: D          language="*"   a0 n; K5 D. D9 V$ k7 U
        />
8 r0 h. Y7 y$ E% ~# g    </dependentAssembly>" f8 m6 W" s( u: E3 ~
  </dependency>
8 \' n  @% e9 g+ }</assembly>
! e' f, d  G# B% q: g
% s. F7 ]4 F3 N6 ^  V1 b( O3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
; U7 A/ i  v( m, J6 ?- u. h
# c( I3 m* n" J9 I* ]- X4、打开工程中的Resource.h文件,加上:
3 w6 Z& H. p8 d9 u#define IDR_MANIFEST  1 * R! K& H3 V. C, C& }
#define RT_MANIFEST 24 * W# D' n- D2 t1 \( p$ E* r

; H3 P; }  L+ W" }: C5、将工程的res\*.rc2文件打开, 加上:; i2 X1 P+ H& p: D! c% S
// Add manually edited resources here...  ~% r3 ~$ K( d. ^6 ^. l
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"
9 |( i4 X; ~$ p# q. {- V. T, @8 ^5 C
4 \/ z* |- F7 V& k+ ]
% T9 j, |4 f, u7 B- A2 X5 ^6、Rebuild.....就可以了。& S3 [$ [1 r9 q) Z$ T  S
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-10-2 00:31 , Processed in 0.017370 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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