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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:% Z$ {. z% w0 ]( {. W
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:/ \1 g/ l0 `! U
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
; K7 @; l' Q7 A$ \<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 6 r; ~) z' u& }2 Q0 @2 [/ B
<assemblyIdentity $ B7 Q5 {+ N7 s
    version="1.0.0.0" 1 q3 Q# [) Z4 l6 w9 a' X3 X' x
    processorArchitecture="X86"
6 i$ Y5 ]# @2 y" Y    name="Microsoft.Windows.ViPod"
, A8 l3 h% I3 y4 B1 `3 N" a0 u    type="win32" 5 i6 ]+ r0 Y7 s7 f6 f+ Q0 K6 `: c
/> : |* b4 L& l- U
<description>Your app description here</description>
2 i0 E2 j" {# d5 H) T5 p3 w/ i<dependency>
% I' q+ O0 Z0 b- q7 |    <dependentAssembly> 6 ?0 H1 [, |  h0 W. {2 O
        <assemblyIdentity
- t7 F( f" P% r3 D            type="win32" + ~) v; k2 B: h) Q6 r+ v" A
            name="Microsoft.Windows.Common-Controls"
+ Z9 l/ }8 y# `5 a9 I7 J            version="6.0.0.0"
! ~/ `  e! J& e7 G3 A( H& q, A- ~            processorArchitecture="X86" / j- ^, G3 F' J
            publicKeyToken="6595b64144ccf1df"
5 z8 C0 n/ r) Z4 p& a9 S            language="*" , c5 V% P1 i8 w# o# a; H
        /> ! {. X5 X, f( Z7 O
    </dependentAssembly>
0 V$ Q, G0 n; ^, H! K+ |# F% z1 {</dependency> 0 `& i+ e' u: U: a' j
</assembly>( o+ K; X2 B3 r- r
/ `% H5 m2 _6 A, [' U* x9 U
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):  ^1 J) x, t# f4 M. y  h
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格
. B, k; a, R/ T7 v2 B4 ?( gCREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
* u4 ^2 p4 O& q8 ~: I% x" F8 L9 F( n/ z" s) U9 P
3.在工程的C*App文件中加上
, ~7 f' N+ F/ |7 r: r: w5 ?# U#pragma comment(lib, "ComCtl32.lib")      //3步是选做
6 g0 J3 ^( y, u/ ^1 r9 O4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
( q0 T* u8 O$ b8 ZInitCommonControls();这个函数,V6的向导不会自动添加这个函数./ @9 z/ z+ K. u0 L4 ~: G# h
//4步是选做- l- G  M6 X2 h2 m9 ?* h7 A% B
8 }$ d- N, J, o
. H1 r& O: X) \/ W0 [+ K
二、如果是VS 2005 则有所不同:$ v" f2 P, L" ^$ d8 S7 {
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。/ q1 Z+ S: ]. L# Z; y
9 E5 k& ^5 t% t  ~4 g
1、建一个名为XPStyle.manifest的文件
+ I+ w+ o& I1 P* `6 f3 b0 g2、把下面的内容拷到这个文件中; }$ g: C$ j! h8 S3 d7 e7 J
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
8 C( o4 h- ^) _4 Q% w/ L* s# x<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
0 f+ w5 ]3 x: }* x& W8 s  <assemblyIdentity
* R) g3 P+ M8 V4 h2 l. d% p* q# l2 E      version="1.0.0.0"
$ L. t- n8 D  o  H2 R1 i( }      processorArchitecture="X86"
+ j& q- [2 z! w- Y      name="Microsoft.Windows.WorkSapceName"' r  O: L9 j8 }& l% P+ r3 r
      type="win32"
( N2 I/ m" c7 k  H# O- k/>" x' `; s0 w  }0 `
  <description>Your app description here</description>
6 W+ @& u. E5 m2 f+ K  <dependency>0 r* `% \+ w3 T/ b! A& [+ `# }  `: S
    <dependentAssembly>
* c" p0 Z7 _! E( A5 _- L      <assemblyIdentity % C2 }$ C! T4 m1 V- z9 c# f" T
          type="win32" 8 o+ U8 d% o3 I1 l+ V! Y
          name="Microsoft.Windows.Common-Controls"
3 m7 ~$ g+ S1 p& H          version="6.0.0.0"
  [; h/ j+ Z: d          processorArchitecture="X86"
9 k: G' d7 d8 R8 o0 f' U          publicKeyToken="6595b64144ccf1df"
5 O& U8 V8 |% \7 B" F5 }          language="*"
$ Z9 @/ X! h& E' U. |3 n' v8 w        />
' q+ R4 H4 ]: r- Z0 @    </dependentAssembly>5 ]7 l8 @! w5 D- p5 t9 Y
  </dependency>
/ x) J% t8 ?% n3 W. {" g. w2 c7 ]</assembly>! O1 `: Q" ~2 f  v0 E7 X
0 h7 e4 w* N) B$ P" l) u  K
3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
! n3 g$ `; u$ c8 v# d5 [% E% p% ~* o8 b! e, U6 A
4、打开工程中的Resource.h文件,加上:
/ Y5 h' k; ]* b* I1 X! N#define IDR_MANIFEST  1 3 L% e; i+ @+ J; m9 ^
#define RT_MANIFEST 24
9 M2 ?6 X, P, O
: y' l4 D5 s* H% a" L' W) e5、将工程的res\*.rc2文件打开, 加上:
9 F  Z/ R/ Z  o. E/ @// Add manually edited resources here...
/ h6 b+ |7 ~7 lIDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"8 ~0 h/ D( \+ T/ c
, [( u6 w$ f1 x0 I$ q
# L$ n3 ^$ H2 N$ D; P1 U
6、Rebuild.....就可以了。
& J  h" d+ P/ z6 @1 `(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-2 10:35 , Processed in 0.020808 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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