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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:5 x5 b  F8 Q/ D: D# j3 ]
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:
' |. l5 J' _3 @7 X0 |' @<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
* U8 V8 X: U! D  {6 c<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
: D; P, `; C2 @+ Q/ V3 p% k4 c6 j<assemblyIdentity ( x2 r- d* K1 X1 u. v7 @' G
    version="1.0.0.0"
' q, J) X9 s- E' Q# R" G. @5 O  T    processorArchitecture="X86" $ w0 a3 j& x1 Z3 O( c
    name="Microsoft.Windows.ViPod"
( l" X0 d  f: y) O- q    type="win32" 8 B  r( v) h* w# V/ t& ^
/> : f: m+ W1 p2 K" _4 U$ W0 t
<description>Your app description here</description> # ~6 U2 o0 b& f1 K. E6 z$ |! \
<dependency> 0 E/ O: P$ W3 G$ u! I& v* v" f
    <dependentAssembly>
# b8 v! G, A+ S7 {3 l        <assemblyIdentity
# o6 m! K, T) q3 |9 {+ R' F            type="win32"
/ S1 |/ j4 x. `            name="Microsoft.Windows.Common-Controls"
) V7 c/ ?8 T4 W, ]1 d            version="6.0.0.0" - J# p1 T$ U( t9 l* v
            processorArchitecture="X86"
4 i% d. Z4 ?: |3 J            publicKeyToken="6595b64144ccf1df" 8 @9 a, H5 k. R
            language="*" ( L; I; M" b( f% O! U2 q: E0 h
        /> 1 x! e6 A/ v+ z% ~6 C- a# h/ C6 g+ e
    </dependentAssembly> * G$ M" T0 t% ^$ d( m; \
</dependency>
" m( w0 i! z/ R6 N" Z3 S+ F</assembly>
7 K/ Q0 M+ l- J  J
7 I$ @3 ~, f3 I5 S5 d2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):5 u0 ?1 E$ f- F" O4 r: M
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格2 p* ^: P, @& I9 c2 ^$ g/ X
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
( l( ]8 h9 A. m5 J, i9 F: k1 V
0 h* w* R% E5 e3 \6 ^3.在工程的C*App文件中加上
- Z. M' k3 [$ l" I6 ^/ U+ K& @#pragma comment(lib, "ComCtl32.lib")      //3步是选做
5 f$ `# }$ u: j6 z3 W4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上$ c# c3 w1 |/ n# x: b
InitCommonControls();这个函数,V6的向导不会自动添加这个函数.
& F" t6 L( h+ g//4步是选做4 @5 V) Q+ }8 {( L) D+ @

& [/ P9 j* e+ r
1 q+ A" n9 [1 Q二、如果是VS 2005 则有所不同:
# E( _8 X- ?0 \# {  h# Y' |VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。
/ D& D, i7 y3 [( |
) B% G5 p/ g8 ]1、建一个名为XPStyle.manifest的文件
: K, M8 \7 f- t2、把下面的内容拷到这个文件中4 u; A5 }0 @9 j9 w6 Y
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
7 a, C, |: Q( [+ A<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
2 k0 i' a5 G+ R' D3 _1 T' p  <assemblyIdentity ; Q$ ?8 U9 B9 L0 }# c, e0 }3 u
      version="1.0.0.0" 3 a. Y- T& t9 t5 G+ h( {2 Z
      processorArchitecture="X86"
# J* Z4 }8 U3 X& e1 I) Y      name="Microsoft.Windows.WorkSapceName"# I1 `1 x2 N0 ~2 Q
      type="win32"   z: @6 A7 O) n1 ]
/>0 v2 n, }' ]: }7 M, y
  <description>Your app description here</description>
2 S1 X) b4 X' q3 p% N. w9 J7 z7 ~  <dependency>" j4 e/ O; g! I6 c( x8 G3 {
    <dependentAssembly>$ K- d0 i1 k. |- g; y# b4 ^  q, _% [
      <assemblyIdentity
) X, z% T: A! N% B/ u          type="win32"
! J# x: [4 \8 T' e          name="Microsoft.Windows.Common-Controls"
5 @- l/ @6 N4 \. Y% I          version="6.0.0.0"
6 n  I6 F8 `8 B( b! `1 a          processorArchitecture="X86"
7 n) X: H+ a! C8 j          publicKeyToken="6595b64144ccf1df" $ g" w* E% v7 _( N
          language="*"
0 t1 z! c9 `8 f/ K4 i, B        />: X' g4 ^8 S, b. |5 o2 J& V- g
    </dependentAssembly>( o0 o4 s8 l5 p8 C
  </dependency>2 i( R$ p& N. j$ O' ?
</assembly>8 ^0 M# l; k3 h' K

0 n" R5 h0 h9 }% a0 A/ m% K3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。7 s4 ^. X7 o* O7 P' I% P! k

1 `% F: S5 N# v- p4、打开工程中的Resource.h文件,加上:
& h+ t; G% s# {" H+ y* M1 X#define IDR_MANIFEST  1
8 R4 i# ~5 E" K4 G8 F7 W) w#define RT_MANIFEST 24 ; Q& H  D1 ]* j8 G

7 J) m4 A3 p2 }- O5、将工程的res\*.rc2文件打开, 加上:
. y- g, S% v% n' \// Add manually edited resources here...( @4 r3 J! n- M6 W$ j' a# C
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"
" h* D1 u7 k3 z6 Z" @3 x4 h/ b2 P5 v
, ]; `( ^7 w& X+ i
4 V/ ?: g4 Y* |+ I& M6 k6、Rebuild.....就可以了。
9 |3 N9 o+ ~/ w) g(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-18 11:26 , Processed in 0.017229 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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