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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:
: L. f  q6 n- d9 @. F
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:# k+ e' A1 Q% ~2 D# \6 \$ g0 O
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>3 j4 E, G8 @. m, E& [
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> : J; @/ g3 b; D- \
<assemblyIdentity 8 N& ]" {5 p1 y" D: Q
    version="1.0.0.0"
& N+ k4 r# j+ G% O' C    processorArchitecture="X86" ' U( [7 |$ s  ]0 d9 l: x2 ?
    name="Microsoft.Windows.ViPod"0 `& h9 a. M; }: O
    type="win32" : ^+ t. d$ r1 t+ I- S) c
/>
! H& _) x, B: \" O& l<description>Your app description here</description> 2 ^+ F, i7 g! I' L: v
<dependency>
# A+ ^6 d" w% `5 b' ?    <dependentAssembly>
: h+ G% S. P3 j' h        <assemblyIdentity
: N, V4 K3 C; S9 w6 m$ h            type="win32" 1 O7 a) Y- _/ s# j$ }7 `2 N
            name="Microsoft.Windows.Common-Controls"
+ q$ N( D$ c4 R3 A& F            version="6.0.0.0"
1 U/ O& w  u; t; Q            processorArchitecture="X86"
# n5 Q$ y( k! v            publicKeyToken="6595b64144ccf1df" 4 L+ f  P+ J- d+ x# e' k
            language="*" % N! S5 Z) z: M6 Z
        />
2 b5 |+ x5 F, t9 g! E    </dependentAssembly> # l0 C. V& m5 b
</dependency> # j4 v2 p) D5 M
</assembly>9 P; D' n8 r4 x6 f1 `
! H$ n$ t, ?( G3 C( w9 t  k
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
- M) C1 A; L, J* z//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格
. a, t  m# q! V. `+ B( m$ ^* uCREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"/ q2 l5 w9 o- @6 o
: a7 `+ l' T  s8 w% \
3.在工程的C*App文件中加上
* a/ G4 y" {- F! Q( g; Z1 p#pragma comment(lib, "ComCtl32.lib")      //3步是选做1 v# o" ^) q! e# A& e$ Y  R% g
4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
  {& u7 \+ o  Z# ^InitCommonControls();这个函数,V6的向导不会自动添加这个函数.
- o. j' U. d! c( Z//4步是选做
3 S! ]7 C: C$ H, o8 e9 @6 T" @0 t! u9 r* k! @

0 K) @" _0 l9 t- c  |3 {1 M二、如果是VS 2005 则有所不同:
7 I: a+ K( V0 NVS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。
; F+ ?% T9 x3 I% n  i+ D8 C! _9 x" A
8 F. i! E: H: L, b7 Y1、建一个名为XPStyle.manifest的文件
+ i& [6 y# a7 u% J* F1 u2、把下面的内容拷到这个文件中
3 ]7 T9 S! _6 a" k<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
# O4 \5 P1 \0 S<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
" Z5 G+ g9 R4 j2 w- ~0 b! H  <assemblyIdentity 9 Z4 A! |) G" j; W. B
      version="1.0.0.0" ' K, q5 c: [3 F* ]8 _+ l. O
      processorArchitecture="X86"
( X7 d" J8 i  b4 i5 l  z, j      name="Microsoft.Windows.WorkSapceName"
' A) F8 f& R& Q( t      type="win32"
! }- [& Z+ O8 C0 X; @/>
/ p; p! W5 i# p  <description>Your app description here</description>
5 Y8 n5 |/ K6 o. Q6 f0 p  <dependency>
; {8 H7 M! j; ]3 [    <dependentAssembly>
* |$ M" t: h5 u1 g5 D/ P8 {6 P      <assemblyIdentity
' Q+ r  @6 u# e. ?* \$ {: W/ c          type="win32" 4 z  v1 y0 O+ p  f# {0 @
          name="Microsoft.Windows.Common-Controls" 4 N1 V2 z+ h' y) |& A' h+ m0 r. g
          version="6.0.0.0"
0 l4 U! L/ @. f          processorArchitecture="X86" . n, v+ V" g$ U1 h+ Z4 m
          publicKeyToken="6595b64144ccf1df"
1 k7 U2 c2 V% ?% v" ~; q/ q2 Q9 f          language="*" / v, c6 ]5 i) F* ~+ t0 b- I" U
        />
' S& X1 ~& c! i    </dependentAssembly>1 a& O8 l) I% W, ^) F# B
  </dependency>
- i- u) S3 a& B) T3 z4 T' J1 {7 V; |</assembly>; ~" w6 U8 K2 a0 x3 x0 S+ ]# Y

2 ^; z: c$ Z' Z7 n: z( t3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。9 v' h; Y4 {- L6 S6 T* M' R) _
* v  w$ C( d0 ]- a  E3 x5 z
4、打开工程中的Resource.h文件,加上:" D6 d$ [3 |; |! M* k( g# F
#define IDR_MANIFEST  1 % d) j8 O% J8 S
#define RT_MANIFEST 24 1 }" x& V) G. @- w3 V2 c; P* w

% b* F5 Y$ z$ `5、将工程的res\*.rc2文件打开, 加上:5 z% p9 e2 A& |) h
// Add manually edited resources here...; Z! g: r( y) y3 W3 S6 Z6 L! [
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"
9 Q2 O2 u7 A$ [+ c) x3 v/ q  e# N  q( w/ v

1 T/ E" D. v/ Z1 n# S8 Z7 R/ u6、Rebuild.....就可以了。8 C8 s8 T8 Q' i0 H2 ~
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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