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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:) G' k/ F! t7 P1 {. X
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:
5 S  J5 j7 q% |6 P<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- `5 r/ ^2 ~7 D6 a) h# e# P<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> ( G5 C+ H, t, ~' i
<assemblyIdentity
" H" P* P/ d' x7 A7 i: _7 G' R+ I    version="1.0.0.0" # r1 R7 H" D6 o$ x
    processorArchitecture="X86" - H( U6 U" y2 {* e
    name="Microsoft.Windows.ViPod"7 D7 T( E% K# L1 p. X" q
    type="win32" ) s- K$ ?5 E: w4 N" y# F* N
/>
4 m9 L, d" c: M& d! A' V3 s<description>Your app description here</description> * ?/ w/ `) D6 h1 X# V# F
<dependency>   ]; z4 C. s: T) j: l9 T. h6 w
    <dependentAssembly>
  v$ M! B8 q' d1 P# q, J, O        <assemblyIdentity 0 E# b0 d8 f7 ^) [
            type="win32" ; A" R" ~) m; M2 j1 R  D% h( c" V8 c2 D
            name="Microsoft.Windows.Common-Controls"
4 [0 r  @* j1 l: k2 z5 ?  s& p            version="6.0.0.0"
6 \- j. e. o+ b( ]            processorArchitecture="X86" + Z0 B1 z0 m1 s) [& M
            publicKeyToken="6595b64144ccf1df"
7 M4 q0 I. Q% _4 z# r+ n2 D            language="*"
/ @2 N- ?; x1 y, b1 P        /> & X( K, e8 c, \8 O# y$ a6 L
    </dependentAssembly> 0 }. {5 `; N+ U1 u1 S
</dependency> + g/ b" F( u6 x# B, R" x  B
</assembly>9 v' w( E/ ?7 ?4 Z% E/ r' R
4 {7 T$ [1 }3 y( ^
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):$ u: N, S. S. C) T
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格" H9 F# v- {# A( c" ^' a' f& }
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"" R& @1 K$ f( u/ A: Q! z8 h3 h
1 A  S# B8 m) J+ D
3.在工程的C*App文件中加上3 k1 t3 \& y) ]  _9 R( ^
#pragma comment(lib, "ComCtl32.lib")      //3步是选做
! u$ f- H% P! ]+ w4 u# X3 e4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上" c9 f+ y. \7 f
InitCommonControls();这个函数,V6的向导不会自动添加这个函数.
9 \6 @  e$ f0 x//4步是选做
3 t" b+ S: h2 H9 X8 t" R; ~+ j% h% i, V% d+ _, w

$ t$ a8 a% e, Y" n$ l" o* k/ V* B二、如果是VS 2005 则有所不同:$ l! N- C) O& H( C6 Z, P- S7 r
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。; y$ A$ O2 I0 O+ L4 f) p, M; j! f
- n  ?, l! B8 W6 F8 M0 }/ J, c
1、建一个名为XPStyle.manifest的文件
: R# D4 P0 n4 Q# ?9 h) e2 }6 K2、把下面的内容拷到这个文件中
7 w1 _2 v1 Q: ^  b<?xml version="1.0" encoding="UTF-8" standalone="yes"?>$ F% o# \4 ~! q- ~+ x# ~; k
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
- \3 r( `& J$ U+ q$ \8 ^  <assemblyIdentity , m( r4 c8 R/ n' @) Z: r
      version="1.0.0.0" * J, B' N* a8 B; I% r
      processorArchitecture="X86" ! e9 i8 d0 L" ]. f# j. l
      name="Microsoft.Windows.WorkSapceName". d( O" h5 q5 [, P% q
      type="win32" * ?) g6 ?# `! V6 T* @
/>
: e5 x3 _' p! c( G  p& d1 H7 ?. |3 O! Z  <description>Your app description here</description>
% A! f, X. _; p1 N  <dependency>- B; m" E, j' R, v, H
    <dependentAssembly>: S; [) A* _/ V) ~# {: a! K
      <assemblyIdentity
0 ^* Y+ M2 O5 Z1 y9 g* d& ~          type="win32" $ W8 x) M7 ]+ s  I
          name="Microsoft.Windows.Common-Controls"
# H* k6 W8 r+ O5 w          version="6.0.0.0" + w9 y4 q4 u' q, a" X
          processorArchitecture="X86"
- a6 Z! j, i, Y- E$ A          publicKeyToken="6595b64144ccf1df"
7 J) L' P& k" _' b/ C7 w; g+ Z          language="*"
' `; Z; Z; d6 g+ h( t  D6 Y        />
; C7 L$ |/ Y4 M0 l: x    </dependentAssembly>
; v" }% j! q: ]% [' }" P% b, t: D  </dependency>7 Z+ \+ i4 _) P0 G# D. L
</assembly>* O- j4 ~& l- I
  X5 S6 |' U9 c% q3 l3 e$ U6 a
3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。3 v2 [8 p. [5 N  x: V1 [, W

# O4 [8 _" ^7 l) R# A4、打开工程中的Resource.h文件,加上:
; z: J* c$ R- \* P#define IDR_MANIFEST  1
& e$ j3 }  f  ^# L8 d#define RT_MANIFEST 24 # G: p; c# ^6 m% F2 u/ c1 q! `1 m* c

2 A% V! I0 X7 i1 n: A, S4 n9 |8 Q5、将工程的res\*.rc2文件打开, 加上:
- f3 I7 ]! X" @// Add manually edited resources here...  }0 M( q  z4 s+ V# z! _
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"6 K9 q% h3 p1 L2 |# [. V
9 \" f& v' i# D+ D5 P
5 h1 b$ ?: k! O! n. T, l) h8 I
6、Rebuild.....就可以了。
# F8 e. u, v! n0 }(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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