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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:
0 U# U* V- K- g1 d! W  P' t
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:, Y( g6 {& K: Y+ R
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
- H. p3 C. {# T* M7 l<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> ( W$ ^3 i% a' [9 }: B1 F, H
<assemblyIdentity
8 l- o3 k, y/ N' k# a    version="1.0.0.0" " M% h5 _* l) Q+ y
    processorArchitecture="X86"   E' D; c: g* J! z( C
    name="Microsoft.Windows.ViPod"
9 _& R# \4 D1 [) t2 M6 D+ x    type="win32" 1 \' d' s( I$ z
/> - I- U2 V( |5 c1 @
<description>Your app description here</description> " X- a2 |+ k' y% l7 N
<dependency> / c; g+ p/ U& w  C. g% H9 g
    <dependentAssembly>
/ Y& n( A+ q- R. e        <assemblyIdentity
7 ?' i( h! ~2 \& r$ h; g% q" f* ~            type="win32" ) C1 ~5 E! E' ]& K1 Y
            name="Microsoft.Windows.Common-Controls"
: T! \) h- \. R5 n0 N9 \* f4 z' y5 `            version="6.0.0.0"
$ V2 K7 n4 P) d( M% f( r            processorArchitecture="X86" 1 W+ [/ Y- b; b% l
            publicKeyToken="6595b64144ccf1df" 0 K- h% r5 D' O# a- J' w: [) w; i
            language="*"
6 J4 D8 M; D+ o+ C8 r; a  X        /> ) C% h9 V5 F" L2 E
    </dependentAssembly>
0 M4 i4 o# }4 j. p$ f</dependency> # R3 j8 U1 D4 a6 v: A& Y% N
</assembly>
+ J$ a& E* W- g9 C/ ^
1 q- a  y: n9 {1 M0 v( F$ p" L" y6 F2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):! L% V& n$ |: f. ~  {( R7 V
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格! j) ?' D8 q" O- v7 i8 M. J
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest") d3 c% \+ g$ J2 X; B

! Q7 H7 _0 I$ t  G8 j' `3.在工程的C*App文件中加上+ i8 I0 ]1 i  l! n2 e7 h
#pragma comment(lib, "ComCtl32.lib")      //3步是选做
' L; U" |$ k" r7 b7 a* F( S' |2 W4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
& G! |$ R/ P" d) r. V; w8 P3 N8 OInitCommonControls();这个函数,V6的向导不会自动添加这个函数.
0 R+ E/ o6 Y' W& ~) W7 z//4步是选做# e& K( F1 `8 {' M% T  W, E8 B

- Z+ s* ]$ B) X
' Z  P! U, H4 t  V! L! Q( ^二、如果是VS 2005 则有所不同:
' D) u( U* A8 w0 b% dVS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。
  W4 _2 e" h, n" u8 J$ Y: G
8 _# z# |  X$ S$ y1、建一个名为XPStyle.manifest的文件
6 t/ s+ |3 M3 W/ q1 l: X" _7 S3 {2、把下面的内容拷到这个文件中9 ^6 d* r- z$ E- d- K7 I3 |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>9 I' P! z- W: E# L2 I0 e/ l
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
& z" p; K0 ~; m2 N  ?' A  <assemblyIdentity
+ P# O; @' i, l5 I" {0 u      version="1.0.0.0" 0 B9 }7 M2 H: q7 _1 X
      processorArchitecture="X86" ! }9 x2 J2 b- S* ~8 x
      name="Microsoft.Windows.WorkSapceName"* c* k8 ]1 L& }' y1 d  L$ O/ V
      type="win32"
: [# a7 t& y/ F; {% Z/>; _; O) \# f' X$ g/ b3 g
  <description>Your app description here</description>+ p' O0 ]" r( M) F2 p! [
  <dependency>  y4 c+ S2 X, Z$ U) \- K2 e
    <dependentAssembly>
4 O# u. u( c7 F9 ?! H  i2 ~      <assemblyIdentity
9 a6 S9 t% h9 K          type="win32"
  D* ?) l$ ]4 ]- S" o          name="Microsoft.Windows.Common-Controls"
3 ^7 Q3 C  S% W/ Z+ u- v          version="6.0.0.0"   q7 \/ A0 j" w- X! p: I
          processorArchitecture="X86" $ o# `4 N- Z5 x4 N6 \7 D
          publicKeyToken="6595b64144ccf1df" 7 U9 X' d% S, b4 w6 P
          language="*"
) \. U2 _- r4 b" T! w, o3 x        />
- R& V5 u, l* f- \3 s: J    </dependentAssembly>
, Z7 [) W- h. |  </dependency>
, ~+ p4 ]0 T& L* W</assembly>
3 ]' L; ?9 @) P0 b$ u$ v! S# C/ [2 s- W4 `& v: ^
3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。% G4 ]9 j; Q, v3 I7 C& Q8 A# P
/ f3 ?0 o) t; l8 a- [  K
4、打开工程中的Resource.h文件,加上:3 @/ `$ q$ x% V6 p$ p9 L3 T8 K/ ^
#define IDR_MANIFEST  1
; f" u  o5 g4 Y$ r$ C) F" }7 S$ R#define RT_MANIFEST 24
9 H7 `' |3 `2 `& w" B& D) S; {0 g) u% B
5、将工程的res\*.rc2文件打开, 加上:1 R; [0 y# S+ M- U" u5 h( w
// Add manually edited resources here...
% b; r8 K" b3 [6 q4 R7 `* @IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"7 K, e. P+ s/ l2 J/ _/ l
5 d, |$ M* J6 B& V
# J/ A% n7 d1 O1 F: ]& S
6、Rebuild.....就可以了。% D( L) C! m- p! k' F  ^
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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