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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:
2 U/ j! W. K$ x
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:3 L* o6 T! H$ I
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
& ^9 j! D+ p, v" d8 g<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
3 m( l3 D5 O1 N7 r  H' A<assemblyIdentity
/ F2 e( i8 ]5 l' F7 r1 X    version="1.0.0.0" % ?" q4 v5 }0 G0 ~+ E1 _) S" M
    processorArchitecture="X86"
- ^! ]2 C  d, G9 ?    name="Microsoft.Windows.ViPod"
; j; {+ l, ]& ]7 g: z0 @    type="win32"
- w2 F( ^3 s/ h) ~: {/> 2 L& O5 F* B, A5 Q( I. U. B
<description>Your app description here</description> 2 ?4 F- Y' o# z& B
<dependency> / t) m) J' n4 @% P4 s
    <dependentAssembly> ! x4 d) {, V/ W. F5 r
        <assemblyIdentity
, O8 \# A& q- Y1 Y& V            type="win32"
& [& W$ r" |& V. t: S$ K; g* |/ W            name="Microsoft.Windows.Common-Controls"
0 I9 ]) g3 }& ^/ \            version="6.0.0.0"
' S/ m# P7 ^( P3 O' D) @( b            processorArchitecture="X86" ) N5 P. b7 G: i( v
            publicKeyToken="6595b64144ccf1df" 7 p. {/ g$ P0 d4 R
            language="*"
# i, ^9 v0 s- Y4 o) e4 Q: J        /> ' }' \$ g7 `/ ~  \6 L5 V" t
    </dependentAssembly> # r5 M5 `& G  z- x+ o) t7 B
</dependency> 4 Q7 b2 u. K0 E' S9 x
</assembly>
2 M: D4 x+ _* B- B5 {' G4 r$ i& c
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):, x* S7 O7 R( @3 P  H3 r
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格
$ j. h% X+ D* Y7 h1 I/ d7 z/ M$ C+ g% C6 |CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"# p2 ?, Y. x$ N; C
. O, E3 d4 B; Q3 E# J
3.在工程的C*App文件中加上
' ]' I; C/ G$ Q& z6 u7 N#pragma comment(lib, "ComCtl32.lib")      //3步是选做
  \1 ]& z* ^. L* W4 N8 p4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
$ b' X8 S& X! S# [3 L  YInitCommonControls();这个函数,V6的向导不会自动添加这个函数.
) h& ?2 j  u. j6 e' L//4步是选做
* R) N, L$ ^, z. F6 Z6 A" ]' n5 s* C5 j) e

& L) R# X' ^8 r$ q5 M二、如果是VS 2005 则有所不同:
& ~4 c1 J, e, w- w1 s* lVS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。6 Z3 D9 U# a& C# V* M8 v2 O

. O  z1 `, b) _* v& w- o) Z4 \4 {. V2 Q1、建一个名为XPStyle.manifest的文件3 G# t; f: l% ]
2、把下面的内容拷到这个文件中8 h- p# O$ W$ o3 d1 {
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
% x7 a" z+ @- v, M9 J<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  {) e7 E9 n: ]3 Q) T3 V  <assemblyIdentity
' j1 W9 E/ {* x5 V( {' E6 v1 x* V( Z      version="1.0.0.0" ( C; d4 `) W" j6 \
      processorArchitecture="X86"
6 j4 |' G' K0 ?7 [      name="Microsoft.Windows.WorkSapceName"" f1 N2 K" J+ Z" ^8 N" a  w9 ^
      type="win32"
* w) w7 b2 R1 {5 e. L) N4 @  \. e/>
* r/ A* H' ]9 A- }  T# n: X  <description>Your app description here</description>" Z; Y) Y1 P# w! e( K- _
  <dependency>$ ^& \- D# n$ |" P5 |! E7 l
    <dependentAssembly>" ]: u8 J( T3 r6 V- _2 h, Y
      <assemblyIdentity
) r  ?- {! O2 t, B, A          type="win32"
3 d  N3 U/ N5 H2 ~7 w: x          name="Microsoft.Windows.Common-Controls"
  l# I* ]" D" w% b/ f4 h          version="6.0.0.0"
! N" j. M" g! K" j- x8 S- I6 S          processorArchitecture="X86"
0 W6 Q& m$ s& w( o          publicKeyToken="6595b64144ccf1df" ! O: w# h+ V: b/ J; O7 F( K+ s
          language="*" + k+ J/ U9 k: j& [/ u* U
        />; |( b6 w9 s% N8 j4 }6 |' x0 C( Q8 |
    </dependentAssembly>
+ B# ^2 S) N6 j2 u7 ~& @- f  y: c  </dependency>
% ]5 o) Z" @$ k+ T/ o/ }) _</assembly>
# N; x( J3 I+ x; b; _+ i
, b' n! \( b% Y! u/ N2 a3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
2 [0 D6 L" J" B
' Z. l$ ^/ W" Y) [" s4、打开工程中的Resource.h文件,加上:
0 S3 X  B& Y% F2 f! B. Z" }#define IDR_MANIFEST  1
# h8 s1 d7 G: G! Y#define RT_MANIFEST 24
) @! |6 r: x* P6 Z/ F& M
7 O' c( Y* \5 k- y5、将工程的res\*.rc2文件打开, 加上:
% v( \; Z8 d+ b; g# o// Add manually edited resources here...1 H! M6 p& A! [$ Q1 H
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"8 R+ r. E. g: E
3 w, j2 |- Y( R: v) e1 _! K

( s! V8 b8 o1 N. w6、Rebuild.....就可以了。
( m. l( B( F! J(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-18 11:11 , Processed in 0.018721 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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