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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:" X0 Y5 F& j* H+ J. [% ?
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:. J0 U& X8 w4 A2 H0 ]2 `
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>% \7 x  D& I' Y" w
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> $ R. x# A$ M; j6 Q) f
<assemblyIdentity 7 @6 L( z% L8 Y2 T2 l, Z# T! C
    version="1.0.0.0"
/ E8 ?) }9 i" j* i: |    processorArchitecture="X86"
% r& g3 y2 f# k" {7 [8 m" {! L9 j    name="Microsoft.Windows.ViPod"6 O- V! g9 f9 o+ A. B+ b* C1 Z
    type="win32"
# k; r  Z, N. E/> 3 P* x( K4 Y0 I6 @1 u" m5 b, e9 m
<description>Your app description here</description>
* p/ l0 q* k4 \+ ~! W7 P<dependency>
5 b1 L3 R8 p2 n% f    <dependentAssembly> 2 O: n' n- n: T' l9 f- ?* g" ?
        <assemblyIdentity
( p6 l; i6 b' e9 I- n8 x4 q. E            type="win32"
. N4 T6 j+ [2 H, \            name="Microsoft.Windows.Common-Controls" ' R: H# v0 k; ~8 l' L  `: C
            version="6.0.0.0"
1 s+ q# C2 T$ v# g            processorArchitecture="X86" : ?- B4 e6 g, Z, [# I1 Z
            publicKeyToken="6595b64144ccf1df"
- @! H+ A8 A: b# X            language="*" 6 x  h& O& T3 H/ k2 s5 e
        />
# D' C. W8 ~1 S* i. J5 z+ ^1 K$ M    </dependentAssembly>
, F1 ^3 [. G( a6 g</dependency>
8 t5 K1 ?# u- H$ X5 @4 H</assembly>$ o; c; [# k1 `$ [0 p

8 w) U: {9 U! U1 u2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):. G- P; D% Q3 g" i  a
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格! X1 r' a3 w" d. f! p
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
3 x9 v4 x8 r4 B% l; u
4 m  N2 V! ~' M3 Q: E' M/ o. Z3.在工程的C*App文件中加上
% l9 x) l" }4 o8 Q1 V7 }5 H#pragma comment(lib, "ComCtl32.lib")      //3步是选做& o6 I, V( ?  D( J3 {0 z- P
4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
! J# K8 l5 a# a3 \( ]8 ?0 l+ FInitCommonControls();这个函数,V6的向导不会自动添加这个函数.
+ Q# w5 t* B) V//4步是选做
% H: `% w8 Q3 y. T% ^
" o( s; @: l5 Z: P
7 C: r# |8 m/ X6 M* c# P( T5 Q二、如果是VS 2005 则有所不同:2 [9 i2 g6 T& \  q' T+ n; H; n; r4 _
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。
" m$ [% X5 Y) @6 w/ i) \8 k  R
0 y: H; J: e& c/ `0 `: L1、建一个名为XPStyle.manifest的文件
3 n3 P: b8 Z, C/ O8 W2、把下面的内容拷到这个文件中
5 Q/ S9 p, o  Z2 a6 ?+ |, n- @<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
0 C" H+ M& ~) U7 Q8 r' g<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">/ j4 T( f' ~( T! L9 a; A% L
  <assemblyIdentity # J; ?6 @' ]+ X' M6 D1 S9 Q
      version="1.0.0.0"
4 E1 o+ a% c0 D4 K" Y2 K# r0 H      processorArchitecture="X86" 7 `; ]3 d: J) }2 `/ p1 w& H; l
      name="Microsoft.Windows.WorkSapceName"$ Y; y' D6 q% \! p/ z+ `
      type="win32" 0 q5 ]+ W9 V6 M' P
/>
4 a3 M( f* y8 Z' k1 I) \" S- g) i  <description>Your app description here</description>; d. n; ^* g5 j& T" K
  <dependency>
5 E" _' B+ u1 v" w    <dependentAssembly>
4 B' i9 z$ Q; p9 w/ v0 k      <assemblyIdentity
  v6 D% G* X! D* d/ i! D          type="win32" - }# R: a9 w+ w) K' T% s( u
          name="Microsoft.Windows.Common-Controls" ) b% @; X6 j( Q# W, s4 z  B% I
          version="6.0.0.0"
" E5 C: |3 L% I$ q6 \' z) L          processorArchitecture="X86" . |) h" }5 W( L0 ]
          publicKeyToken="6595b64144ccf1df"
  S- u) L9 M' G; y6 z          language="*"
0 y+ g- X9 Z- i1 j        />- k/ K# C: V* r7 Q( S
    </dependentAssembly>5 L  u1 C6 e! C$ \! f5 n
  </dependency>
0 ~8 N) S, M. _4 m+ ~, T' [" O" U</assembly>0 o+ G+ s/ t8 w6 c0 x6 i9 |6 [. {" S& v

  v% `7 H1 N8 k7 r( j% ]8 d3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。' l& m; {7 j! T+ I% t

0 ~  Y& r+ S8 d0 x4、打开工程中的Resource.h文件,加上:
0 S2 r' {6 q' f  g9 ~#define IDR_MANIFEST  1
. ]/ z: b' ?0 x. K) `6 s#define RT_MANIFEST 24 9 ]7 k2 Y8 a9 k
$ \* D3 @$ e8 g  B
5、将工程的res\*.rc2文件打开, 加上:
/ a% H- c& ?3 k! q  C% o// Add manually edited resources here...
4 E9 v" [3 ]# F& S7 |1 \' ?1 RIDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"/ j4 B. A3 B( T6 _6 J2 z4 I

/ I% r, t3 L! J  E$ }1 {& ~9 u$ C; p- S# O" i
6、Rebuild.....就可以了。
* L( v: [# [& M8 q(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-14 19:57 , Processed in 0.022365 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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