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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:
$ E0 s" O8 a( a4 U7 N% U
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:* M7 I, z0 K  e/ @3 K+ g
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>/ h9 Y+ ?% H! k7 s5 c! N& N
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> ' n/ H. l" o2 ^, D2 c
<assemblyIdentity ; ^/ {6 S/ |. F: t
    version="1.0.0.0" 9 u; m% c+ x! ^  v
    processorArchitecture="X86" 2 Y5 f$ _+ w2 Y
    name="Microsoft.Windows.ViPod"
! r# b+ r1 J! D& T3 P! B    type="win32" & ]; U$ I0 l- W
/> ! `. u' z6 ?; W, t. h, G
<description>Your app description here</description> ) S8 s- [1 b  Q
<dependency>
# O& q" @6 j+ X: l. X    <dependentAssembly>
1 \7 `. q- _- h$ K) ]        <assemblyIdentity 5 N1 r2 k5 n9 I
            type="win32" % q: m; p) H" M  M+ f9 d! u
            name="Microsoft.Windows.Common-Controls" / G; m& S) U: O3 w, v! v  `
            version="6.0.0.0"
- [  v/ ], |3 [" L: Y* D            processorArchitecture="X86"
  L/ ^( m; d8 s            publicKeyToken="6595b64144ccf1df"
! k; R  A, Y- i- {+ h( N4 I& z; W            language="*"
. K/ v+ J+ ]6 J. ^# @  K        /> * ^& G+ V& o) ^/ i1 `
    </dependentAssembly>
0 X, O$ O5 ^4 L+ r# P</dependency>
( z/ H) Q1 g/ N7 g4 b</assembly>
3 g# r8 l; M$ W1 `( s$ @
* o- l  S1 L2 Q7 r2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):1 N& O- E" \0 M* w
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格+ `. A* ]5 j  t" c2 a. [
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
+ o3 ^, S3 R: y7 V9 C- d, J# q
( q( E, k9 a4 G) v  M3.在工程的C*App文件中加上
2 ~* s/ k9 i) @: d' M$ y) s+ j#pragma comment(lib, "ComCtl32.lib")      //3步是选做
& j; D* e+ W4 _4 n2 A0 T4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
! _8 v" y# ^$ E' b& hInitCommonControls();这个函数,V6的向导不会自动添加这个函数.0 j" ]! P( J+ @5 U9 J# A  c
//4步是选做# W; d/ I! ]! j3 N
8 R" y- W2 B, d# D

! T: G! R1 f% |5 T二、如果是VS 2005 则有所不同:
' X- |: U5 I7 C2 E# {6 [3 R9 nVS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。" {+ j: m- W3 K4 j* P
( k) H% d7 v5 f( h6 [: [
1、建一个名为XPStyle.manifest的文件0 k5 m& m& v# a* d
2、把下面的内容拷到这个文件中
4 s' D+ W  ?. U6 ^<?xml version="1.0" encoding="UTF-8" standalone="yes"?>+ s$ h0 h3 T$ R, }5 P
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
, x0 c1 p1 ?/ P/ m2 `) p5 `) z/ `* n- h  <assemblyIdentity ) P! P: \% h9 d) N/ J
      version="1.0.0.0" 7 {  p3 Y$ z. H2 C# e, X+ w
      processorArchitecture="X86"
; Q* {+ p  H. \      name="Microsoft.Windows.WorkSapceName"
6 H' c$ I7 g& c5 v      type="win32"
  D& Z4 K! j& {  g/ c; A/>
' i( n8 M: A& e! m8 ^  <description>Your app description here</description>
; [% C, z) F2 K6 n0 F. [. Z/ r+ ]( D3 |  <dependency>
- ~: j5 r* @' C* r! p    <dependentAssembly>$ j4 E& ]+ a- P0 a+ I& k2 Y
      <assemblyIdentity , A  e/ h8 D( _  S  ?
          type="win32"
% Z. @- a; D9 R  H, ^          name="Microsoft.Windows.Common-Controls" 9 z6 U# M1 ^) a8 n$ y4 I' v, Q
          version="6.0.0.0"
9 a! j6 s7 x8 k2 V  T* P          processorArchitecture="X86" 5 \; d. l9 y8 H2 O: y) A1 r9 ?
          publicKeyToken="6595b64144ccf1df" / h6 T7 T! H6 ~  L5 D; y1 u, h
          language="*"
8 }! n4 k( |! h2 U  Y: F        />
. V0 Q! a  Y5 d* E" y+ O6 |% ^    </dependentAssembly>
9 S9 l* E5 X* }" v# Z: c7 M+ w  </dependency># D) r6 r/ N7 H8 ~
</assembly>7 D7 z% L: S2 ]6 d. @) c) A# y6 @3 M
" L. y3 r  g; _$ P- S9 F
3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
* G. \- X1 [. A# X3 U# P' @7 Q$ V  x/ J- `$ k# Y+ p  o
4、打开工程中的Resource.h文件,加上:$ k* J3 C' D* Y6 J2 W% s) g
#define IDR_MANIFEST  1
0 n/ C7 y8 w" Z6 h& o' S#define RT_MANIFEST 24 " v2 N7 v, o3 R2 h6 S

" Q1 s& @9 |, h3 _$ ~; c' q& Z  e5、将工程的res\*.rc2文件打开, 加上:: K' H& A! _) ]
// Add manually edited resources here...2 o; W+ b5 a$ Z  _. x! L5 z
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"
# k+ `3 v8 m( w- |. ~4 m4 e* t: o, `: \  Q4 u
; F8 a$ [/ y: b: A
6、Rebuild.....就可以了。: i; q3 z, e' G  b% z; g. w
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-9-30 09:04 , Processed in 0.035366 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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