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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:
7 y, `- O( {: b1 D3 ^
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:7 V0 h- h( G" t$ L# l
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>6 [; h0 d6 `; d5 z
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 4 X0 f6 O! R& x3 q" s
<assemblyIdentity ) f6 A, n8 z/ ?1 o% L. u. A8 C% [' i
    version="1.0.0.0"
1 }  O- Y; j; r- _& G: \' V    processorArchitecture="X86" 1 P1 R: O5 p% z& O
    name="Microsoft.Windows.ViPod"% E6 l2 `, `8 M1 K
    type="win32"
; h$ J! F$ k* k9 {$ ~/> 3 R' ]2 h5 z* z6 }( S0 [# X+ w
<description>Your app description here</description>
, Y8 t/ l: }" _<dependency> 4 K/ I4 v6 f8 g, n: V* U  _4 ~
    <dependentAssembly> ) h+ }$ |3 E* t, ]0 f; o( \, V( \
        <assemblyIdentity
0 Y% ?2 A3 \. \5 S# u# ~( @8 S            type="win32" 1 s- w2 ?# ~1 h& o0 ]# t
            name="Microsoft.Windows.Common-Controls" ; V! _( _% H4 H$ D; ]( k. B
            version="6.0.0.0"
1 E# M/ w$ A6 v; i: `: }            processorArchitecture="X86"   Y" ]1 S% ?; m4 @
            publicKeyToken="6595b64144ccf1df" 0 H0 N. a9 g! K
            language="*"
. i! g% @9 K# ^3 }. H. m: f0 K3 @        /> 5 ?, y, |- m- ?) ^. w- X' I
    </dependentAssembly> 5 b6 y0 J& L3 E: ~& o/ G
</dependency> % R2 K3 O3 V8 k) D0 O
</assembly>
; ]7 l: V% C( i% p8 G
! j) d3 c. o' h6 M. \2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
/ K& ~+ b5 l- X1 T* Y$ l6 t9 Y//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格% ?1 V/ N$ q2 U4 g5 N
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
2 ?5 ]0 [! i, j* g! @
3 v; f" }' u2 s/ C; G; O3.在工程的C*App文件中加上
1 |) Q5 ?# M# ~' E" q#pragma comment(lib, "ComCtl32.lib")      //3步是选做6 t2 a6 t1 O( c8 o  H
4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上' g; q( M$ {' ?' z& @/ v
InitCommonControls();这个函数,V6的向导不会自动添加这个函数.
3 r; S$ Y# u9 X* P; ]8 h//4步是选做  l3 T8 F5 @" U; Y, _
8 U6 W9 a3 T% E& d, |: S

& z& v1 S7 i: r$ n二、如果是VS 2005 则有所不同:
  h# J6 G9 c  AVS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。- M$ V4 b0 a" i/ j3 r- U: u
7 o. m' \. G3 y3 l
1、建一个名为XPStyle.manifest的文件# K- g2 W. j/ J( q- F# ^
2、把下面的内容拷到这个文件中
5 Y) R9 W! [& s3 ?/ h7 k<?xml version="1.0" encoding="UTF-8" standalone="yes"?>" n/ ^2 R0 Q" A& ~: t
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">& D4 i. o' P7 ~) R
  <assemblyIdentity / U: {, ~& E! u  W5 f! Z2 y
      version="1.0.0.0"
5 d, F0 p$ [5 n; t3 n9 y/ B      processorArchitecture="X86"
8 L% Q; e, }# j- Q, `' F      name="Microsoft.Windows.WorkSapceName"7 a; v8 ?% \+ V( N) L
      type="win32"
" y) K' R4 U7 h* w% v: m/>4 f( r6 x" Z( u4 j- H/ y
  <description>Your app description here</description>5 \/ l! m1 m( {; o! M* q
  <dependency>
( `# k/ R6 d4 w& {% d% p6 Z    <dependentAssembly>- [: E$ S" h3 \7 ?7 {/ S
      <assemblyIdentity : n0 c* i/ V* W7 ]0 ?
          type="win32" ' f1 K% x: e2 @7 {7 K4 l! q
          name="Microsoft.Windows.Common-Controls" 6 y7 b: I5 [" {5 D# X7 q
          version="6.0.0.0"
; G6 v) A$ }- T+ z          processorArchitecture="X86" / g5 j% t" q; M% `/ ?3 `2 W2 _
          publicKeyToken="6595b64144ccf1df"
! o& J: S+ Z" K9 Q          language="*" - s$ r! _) E0 B2 f& a2 o9 ^1 Z
        />
- i$ }# a. c" |7 ?: y7 o0 v3 _; T    </dependentAssembly>' N/ Y! @6 Z- O& r; o6 F& o( r
  </dependency>/ |0 L$ X" L7 ^7 l2 D( M9 L$ q
</assembly>5 I$ v8 _* r/ b

( w8 @2 U. `2 e9 e! S' b6 m3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
4 F, ~) f7 E; _" f* {3 ?& C: D
6 ~! P0 {( }$ ~& o# V7 }, U0 J4、打开工程中的Resource.h文件,加上:
& Z8 t1 S5 b9 o  M0 W" p#define IDR_MANIFEST  1
6 n% H! u! @- y9 k5 j$ q7 z% Q#define RT_MANIFEST 24 1 ]6 R; d+ {. j' ]+ p3 w/ `5 v

* B! Y# U6 a: |+ P5 K: y5、将工程的res\*.rc2文件打开, 加上:
: h" z/ t1 k: k, Y/ S% U' \% I// Add manually edited resources here...' `! v; ~5 {4 @3 |3 p+ K
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"
+ S* a! O6 I+ I6 Z4 o) U8 t, P! L, O2 }) a8 m

" D* N0 o5 P9 w6、Rebuild.....就可以了。) j2 C, ]2 c5 g, M4 V* P" h7 A
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-13 22:43 , Processed in 0.017983 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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