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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:2 C# F% Z' O; M2 U( i+ p
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:* D" y* ~( J/ w& _
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>- ]- b: c0 i) a' d
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 8 q% f$ e$ C  i/ Y+ z; l2 A
<assemblyIdentity
; Z* ]  e: Q* v& b    version="1.0.0.0" / a) o+ ?$ V1 M/ K
    processorArchitecture="X86"
2 n( H! N7 h; I1 W* c$ b9 L" f) ^    name="Microsoft.Windows.ViPod"
; @) J. s5 P. O* C4 R& W    type="win32" : r7 h9 @2 k+ c0 z6 w* ~
/>
. [0 v5 g. l( J2 H<description>Your app description here</description>
/ ]: \1 G3 t9 O) f7 N7 ]) c& s<dependency>
6 _0 j9 ~& R$ }$ d    <dependentAssembly>
% b. B' A& N, [3 D        <assemblyIdentity
! K  M) Z% c- _* y; u% V, _. h            type="win32" * q" Q: j$ h+ F) Y1 _2 P5 g1 ^' g6 U
            name="Microsoft.Windows.Common-Controls"
/ @& c, r8 b9 i3 \6 P            version="6.0.0.0"
& d4 `; O7 t2 ?* a% u            processorArchitecture="X86"
+ {' B; P9 m4 ?# T5 x            publicKeyToken="6595b64144ccf1df" ) A% M# i! n2 w' R1 [7 c6 D$ K
            language="*"
. F! z, p; P' `6 ^        /> ( i$ k2 M4 u+ `
    </dependentAssembly>
! m0 R& e( g& n$ p1 M</dependency>
2 F. `" b" {4 X6 y</assembly>) Z3 F+ D0 V7 K1 J+ k
0 o/ K$ P. q( c
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
5 `- B; f& p0 ?7 f/ i( U//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格
3 v/ i4 e8 X5 G; f9 @CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"1 W8 U" w( R, D: s

5 x: I8 b- S2 X7 w# K3.在工程的C*App文件中加上9 I/ r; }, ~# n6 J* u) ~: G1 g& a
#pragma comment(lib, "ComCtl32.lib")      //3步是选做
4 k' s% U# }+ W: G" H/ i. T4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
" x9 q7 J: Y. |+ A& vInitCommonControls();这个函数,V6的向导不会自动添加这个函数.
* r# ?& `: n' t4 \8 W//4步是选做
! Q5 x3 ^( M8 k: }1 ~# L( d+ z% w( Y- j7 P2 z9 S0 x+ Z

5 c# X) O5 e( F1 O二、如果是VS 2005 则有所不同:% D4 v, m0 p0 o+ u6 u! Z+ s
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。
: ~+ F( f! n5 |: N" ~) ^5 `/ Y  Z! w6 V9 [* g
1、建一个名为XPStyle.manifest的文件# F8 F' f2 b, e6 k( _. e) v# Z$ D
2、把下面的内容拷到这个文件中# }9 T, l- V& r' p* ]
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
0 ^. ]+ k3 q$ G2 f1 y* O5 m<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">/ R/ _1 b" X; I- E7 T; ]% g1 \
  <assemblyIdentity
* f2 q8 G! `- ?$ ?  j      version="1.0.0.0" ( j: }; F8 X( g
      processorArchitecture="X86"
: L" W. P6 k/ @. Q1 [" q      name="Microsoft.Windows.WorkSapceName"5 U6 o$ J6 V, ?) v4 @
      type="win32"
' E" I" r: X+ d9 M3 A! p& z/>' f1 h- J7 ^! d! K5 l6 X7 v
  <description>Your app description here</description>
9 r8 [) m% D" B0 F4 c  <dependency>
# h' G% |+ Z! E$ ?; ?3 f    <dependentAssembly>! i! U1 U: x$ _9 n
      <assemblyIdentity - }. F  S; N, ^% d
          type="win32" ) l- S+ F5 F+ c0 \9 P5 h1 c+ P
          name="Microsoft.Windows.Common-Controls"
& i. @" j: a" C+ X) k          version="6.0.0.0"
$ X/ K& o% F5 n% L" R8 ^0 V7 M          processorArchitecture="X86"
  t, Q) Z' `8 W: l  |' E          publicKeyToken="6595b64144ccf1df"
; z, Z) @5 Y) W3 ]4 X  Z          language="*" $ t  {* X/ N7 R0 p% U, T1 c
        />
. D6 Y+ |3 ?8 x$ _. v    </dependentAssembly>
" }, K' m7 P, ^9 W  </dependency>! E; E0 m+ ~  \5 K
</assembly>+ }9 ]; D4 d# j0 q" T+ w! o
0 {' g2 G2 o& u% L7 |' ?+ H
3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
; b$ P- B* L( s4 h1 D3 v  \$ E- T7 j  [  l
4、打开工程中的Resource.h文件,加上:
% a7 P( q/ _, |! N+ S#define IDR_MANIFEST  1
4 a! l4 Y* V3 C( N% ~) d" R#define RT_MANIFEST 24 9 o. \' g0 E# W( R8 E# X' _8 v0 L+ ^9 O
8 z; q9 N5 X0 j$ D8 ]* r
5、将工程的res\*.rc2文件打开, 加上:
. j' \7 @- v$ K! R# A// Add manually edited resources here...+ z" q5 j  u4 p- v( k
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest". N  K9 b$ c, S* |1 Z9 t" B
: ^  g/ G' q5 [( \9 @

- @) m% [3 n' h6、Rebuild.....就可以了。
: O7 E) @2 |9 M. g(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-10-2 02:38 , Processed in 0.018166 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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