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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:
* }$ d# M) l( y( Z- y
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:
* B8 h) W# j0 K$ _- f: E<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
; |9 R; g  `  e) H<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
" y- K7 v9 U4 z# z( W/ s6 ^1 q<assemblyIdentity
. F1 t$ r( @7 L6 ?' g0 e    version="1.0.0.0" ; N/ h. U/ W' d0 u3 ~
    processorArchitecture="X86" , S# |) |/ h. ^. u
    name="Microsoft.Windows.ViPod"
( ]3 p$ }" p+ Y7 M$ j6 s( R# e    type="win32" 0 V6 v) f" b2 J, Z1 X
/>
# Y+ |) y1 s) B<description>Your app description here</description>
9 M9 P% Y3 ?- p$ b# n<dependency> + P) m8 p+ Q( ?) s% E
    <dependentAssembly>
5 ^: Q$ R9 ]4 s/ ]7 V, s' u        <assemblyIdentity ) [# @% q  v+ }
            type="win32"
3 e6 a  i/ j' ^' R            name="Microsoft.Windows.Common-Controls"
: R9 s+ q/ F9 d            version="6.0.0.0"   f( s& ^6 Z/ r5 F( {6 p
            processorArchitecture="X86"
. d% h0 D, b. h. u6 _- r5 m            publicKeyToken="6595b64144ccf1df" ' V, [. y1 p% D! z6 s% ?% n: R
            language="*" & ~5 A5 L" Y& o& N
        /> # }* e5 b/ k. T, |( i2 o
    </dependentAssembly> * `3 l! S  T& Y* `* h  j
</dependency>
+ ~) r6 K  Z1 E</assembly>
* I7 o8 s6 d) m9 ^% ?4 B# u! R9 T# m$ o" x0 p
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
3 J  H6 e0 [' o. \& P8 R& p% P//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格8 h/ [" v1 N. `8 `
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"2 j7 D, x7 w' z

% z9 X! V( i& X6 E& Q3.在工程的C*App文件中加上' Z; _5 W; a8 `2 Y5 Y9 _% D
#pragma comment(lib, "ComCtl32.lib")      //3步是选做
" _4 @# k: ]( x4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上
- m' x: o0 M; @0 o" m" JInitCommonControls();这个函数,V6的向导不会自动添加这个函数.
% F5 o- D& f9 v//4步是选做' y/ l( \, k& _* N" F; B$ Q8 u
% @" \1 S$ R; @3 c& u4 Y' g2 `4 {
8 j! @* ~9 x# V. X; y( ?9 j
二、如果是VS 2005 则有所不同:
. g9 t9 r' l1 U4 ^5 NVS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。% b& _- z# x* O  q
7 S# f( F& w$ s& W
1、建一个名为XPStyle.manifest的文件
; N/ P, W' I1 u1 }$ f6 G* W2、把下面的内容拷到这个文件中
1 t) y6 i! B7 B: c( l* m<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
' s) O: v% O, X2 b* L, E<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
& b4 B) M0 W; E" K0 r/ f+ C  <assemblyIdentity
( U# @" J3 L; M; w9 ?      version="1.0.0.0"
0 T/ g8 g8 f. C& q& t  E      processorArchitecture="X86" ! L5 n, k+ w/ t- Z; n! R4 E# P+ N. Q$ `
      name="Microsoft.Windows.WorkSapceName"+ O: n) J' R5 X. P6 F$ u
      type="win32"
- a3 ~, z5 p: w+ m- j- P2 K: W/>
/ V! n; O) E- r/ U  <description>Your app description here</description>$ u7 m' {2 @  [+ E! {& u2 c; V
  <dependency>7 \& d+ u5 s4 N  l. N: u
    <dependentAssembly>" o3 n9 f5 ]" X- v
      <assemblyIdentity
3 P0 g6 A, o& T          type="win32"
( O! u' T3 d1 H+ _' _1 D& ^4 ]          name="Microsoft.Windows.Common-Controls" " c$ B, j4 C: ~
          version="6.0.0.0" , h% S* t; \; B1 z
          processorArchitecture="X86"
& t+ t, [' o( }8 N/ R( O& q          publicKeyToken="6595b64144ccf1df" 3 w" |/ D4 c8 ?2 g7 C, B( o
          language="*" 2 m! E. o. h/ f7 i( i
        />
% ?5 a* v# W/ G7 H/ a; u    </dependentAssembly>, A/ n! o3 j4 l  E9 n2 G9 u
  </dependency>, V9 ?: m, e4 U" U* t: H8 _5 v
</assembly>
" O$ @5 j$ f+ E: Q
  h9 a3 H& m) s  m+ |6 ^3 r% g. K3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。: q; T' J" |7 d+ `! F5 x( s( f

8 T  @0 T9 `; R+ {  q9 [* J- v4、打开工程中的Resource.h文件,加上:3 A0 k& g, D3 S7 C  t& Y
#define IDR_MANIFEST  1 " E0 E, o5 \0 `" m% Q+ Y
#define RT_MANIFEST 24 ( o! J! }1 A* s. F

- J1 s* }8 A" ?. W. M5、将工程的res\*.rc2文件打开, 加上:2 }" k3 ]1 w5 f+ N: i4 P7 N2 s
// Add manually edited resources here...
$ @. T' i0 z& R" IIDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"
% I) F* w$ N' N  M2 i  H6 M
1 x+ M9 C% j) z% g2 x/ T* G2 e: e$ t
6、Rebuild.....就可以了。$ f& @9 ?5 a+ @2 [" T, {: c- n8 A
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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