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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:& j6 Y' V8 [% x# S8 s" ]$ \
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:
' B& G' f$ n+ h2 \- a+ u5 R<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
8 I, ^$ q$ {) F4 H! L. j$ K$ b7 H<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> " F, ]7 ?. i, z0 g/ ]: l
<assemblyIdentity
6 h7 ?$ X+ y. O    version="1.0.0.0" ' S: E; X: m- x
    processorArchitecture="X86"
$ r/ R7 V6 J& K* b: w# O    name="Microsoft.Windows.ViPod"+ a9 W8 T: J0 N
    type="win32" 7 h7 N7 n' K) ?, m
/>
1 s! H; \; P, c0 `( n  J5 ?# R<description>Your app description here</description> - P/ V5 D7 |, \+ p. O, x% \% J; j
<dependency> & @. g5 i5 E/ W; f0 O4 l# O
    <dependentAssembly>
% X+ S+ E2 A. y1 B% }! l. x        <assemblyIdentity 2 j7 Z3 O" H. z0 g6 o
            type="win32" 9 H6 v( k" Q  h- [6 A/ H! M
            name="Microsoft.Windows.Common-Controls"
, X& C7 U9 a$ _, b$ {$ ]! c( A            version="6.0.0.0"
0 z/ p# b3 K4 n9 q# u# v            processorArchitecture="X86" ' }1 N# j& U( O3 U6 k( y9 ~, X
            publicKeyToken="6595b64144ccf1df" 3 O5 O. G, P8 R5 y) z% x
            language="*"
7 e& m$ Y9 x6 r( r        />
! S. U" t7 g$ ]( o6 l0 w% G    </dependentAssembly>
- ~) Y9 P! M; h1 A( R9 d</dependency> * {& ?4 n2 I* q  e" j; f
</assembly>
0 F% L2 D* Y0 Y
3 Y" j' m, y% V1 K- Z) X& |& q2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
. F0 }3 `0 [' f, A: o, h+ ?//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格
$ {. a7 F" f" e1 Z# PCREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"' U2 o- q! t9 K& K7 q! H; i$ A( |- a

" z, K+ }  |% H3.在工程的C*App文件中加上/ t8 e# C" I2 m7 e! B4 B  @
#pragma comment(lib, "ComCtl32.lib")      //3步是选做
/ r8 K; u& G, ]; P1 V  u6 P4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上% N7 z& `" w/ b, R; |
InitCommonControls();这个函数,V6的向导不会自动添加这个函数.0 R) X* `( f+ W+ ~" P
//4步是选做
& d' ^0 |# r+ y2 Y. b5 v% @& H: w7 M
- z5 z: o; D  y1 t' r% F
二、如果是VS 2005 则有所不同:% ?$ D8 r' O- f# y! R, h2 }
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。5 }. x) e- W( O5 ~4 v& U% j, `

3 }+ @$ E" w* T! h. q& [1、建一个名为XPStyle.manifest的文件2 P  ^& {8 D( E. n% z% p, n1 Y) h) R
2、把下面的内容拷到这个文件中5 x+ i1 Y( Q# b; e5 k/ s' j4 s" N! b$ d
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>8 a1 g. C: h* ~+ ?: P) L
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
) X8 H0 ]3 {( Q! F  l  <assemblyIdentity
  o5 S. f6 H6 K0 c      version="1.0.0.0" 6 r& s* d* s8 v; Q3 B4 |" }
      processorArchitecture="X86"
. \; v- e. s( V. s      name="Microsoft.Windows.WorkSapceName", s' \" R) J' a
      type="win32"
$ f! G6 t& I' f  ?: u/>, a# D0 z( P! I1 S% w' B) ^* r
  <description>Your app description here</description>
( P3 N0 `5 k& C* o* j) M  <dependency>  v8 Q" n8 F% O; O3 Y
    <dependentAssembly>* z  A& [: p* e8 |
      <assemblyIdentity 2 k& W' F) b) I5 G; V; g# M
          type="win32"
2 ^. {- {- [- i0 {" F; A2 X          name="Microsoft.Windows.Common-Controls" 0 ]( a$ K# B/ }9 K" m7 c* W9 e
          version="6.0.0.0" - g9 Z( F$ Z& [8 @+ Q; F# z
          processorArchitecture="X86"
. b% f2 y- [* ?          publicKeyToken="6595b64144ccf1df"
6 ?" f$ g7 }; A          language="*"
7 e, z3 q$ N  M& h! U2 g        />
/ d& Q# L8 v% V5 k+ r9 f8 l& t    </dependentAssembly>
6 S1 Q. K: y5 M8 D# S& d  </dependency>! S0 D  @8 Z4 S" o$ [+ E9 e
</assembly>" b1 D" Y6 f* l9 Z7 `) U; g

' _8 Z$ z7 Z+ p  t+ e, _% K3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。$ s* X, a8 F7 n5 z) \' i/ R! p9 I. \
2 G. r* |, T9 d. v$ y2 h
4、打开工程中的Resource.h文件,加上:$ G0 F/ E% z% P/ Q
#define IDR_MANIFEST  1 % f! o9 g* f# A
#define RT_MANIFEST 24
/ ?$ }6 Y! k$ D2 x/ g/ u& e/ ?; W: V9 p* G+ B
5、将工程的res\*.rc2文件打开, 加上:, j/ }- R9 r5 z: x
// Add manually edited resources here...  ]: \" n5 l( a7 R3 B9 X
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"
' ^# Q( g* C7 h; N6 d
0 x. ]# D( K' _7 S1 \4 ~, V8 I5 g0 K% Y$ E
6、Rebuild.....就可以了。2 a7 x/ o4 H. R6 |
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-19 09:00 , Processed in 0.015239 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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