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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:
0 |! ~# F3 i3 J* @0 F, o
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:
* t" r) E. w% g6 r1 z: ?9 u<?xml version="1.0" encoding="UTF-8" standalone="yes"?>  \; h5 b; W2 S7 G" i
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
1 q* h" q$ C7 S- v" [3 b! P: `<assemblyIdentity
% m$ g8 x/ y# T3 z" ~5 r) Q2 E$ o    version="1.0.0.0" 3 n3 r! [6 D% I2 M" b
    processorArchitecture="X86"
* f4 r% z1 J7 d" B    name="Microsoft.Windows.ViPod"! R+ ^: `- F, c; C. Y; s
    type="win32" / N, o$ O/ y  M. I9 g3 Y
/>
# Y& p5 @7 |8 ~  i8 }<description>Your app description here</description>
& U: X) f# K$ m; @- w<dependency> 3 `# d4 f, E  l" @& H
    <dependentAssembly> # q! o0 g2 g( s! @
        <assemblyIdentity
, Y/ o2 ]# T2 m4 ^. e            type="win32"
% w. X- T+ z) ^4 g' N            name="Microsoft.Windows.Common-Controls"
  d0 ?2 H6 A- m) w" m5 {            version="6.0.0.0"
% N5 i) g/ n  O; {- J7 d            processorArchitecture="X86" . v. h: V$ w1 G' ^0 [3 G
            publicKeyToken="6595b64144ccf1df"
' K3 {; V2 Z0 C$ L            language="*" , W& B0 {' S+ g/ t
        /> ( P# \- ^1 K' a5 e, L6 R, a  [/ g
    </dependentAssembly> 4 ?3 u2 Z1 j" r9 T- l% L8 f
</dependency>
- A! t# o9 g8 a) `</assembly>
+ X5 s" f2 x. v; c$ `& l
( e3 i/ q2 R7 e7 m0 C/ G4 P2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):! u' m: q( ?9 z/ `
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格
4 r) o" t0 m& y/ `& U- lCREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"1 w# D3 g2 c9 h& I
: E4 f2 H1 I+ X0 z' t
3.在工程的C*App文件中加上, F+ a! r& I1 b2 V
#pragma comment(lib, "ComCtl32.lib")      //3步是选做2 O! r1 N: m$ e( z; w+ c3 Y2 N
4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上) T; I2 ]- x  U2 G
InitCommonControls();这个函数,V6的向导不会自动添加这个函数.
' e/ _7 z  a) P( i" W" M: J//4步是选做
* v. f* }7 f. C
) f. W! c6 J5 {3 i' T
+ \& T: B' k! r3 C2 g+ Z1 M二、如果是VS 2005 则有所不同:& S& t; `* j) b1 D/ p7 g" J. ]6 {
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。9 \! @9 W. a: E5 R# d

& M6 b+ X! m8 |0 l1、建一个名为XPStyle.manifest的文件
6 ~: {' @6 Z' c$ X5 E; Y+ s; |2、把下面的内容拷到这个文件中6 R2 b# o* }0 ]: Z
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
1 d  I5 e7 ?# n1 g<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">0 z0 B5 k8 a7 e1 t% W2 ~# v
  <assemblyIdentity
' |! n/ ^! E1 {+ P      version="1.0.0.0"
. W1 X0 U4 x' l# u8 v% w% R      processorArchitecture="X86" # i% O& a4 C$ a
      name="Microsoft.Windows.WorkSapceName"8 ]2 \- E, d. s# n8 T6 q5 ?. z7 t  K
      type="win32" ( q, ^  W1 v/ H
/>. j6 Y4 }& e5 f: @' J: ^0 ^
  <description>Your app description here</description>
: z3 ~, x/ E1 |6 E. _  <dependency>
! P3 W* h3 s( A* Z+ @6 G' X. F# Y; K! X% I    <dependentAssembly>
6 _' X  [: S' O$ Z8 E# f      <assemblyIdentity
$ D" [. w  D* p+ T/ L3 T: l8 V          type="win32" ' n' Y2 B3 J. S: D9 A% Z# Q
          name="Microsoft.Windows.Common-Controls"
8 f* d1 ?) |+ ~( d5 U/ Y          version="6.0.0.0" : [! d2 E% W$ w  p
          processorArchitecture="X86" 3 F. M/ a' q' \  c1 i4 C; M
          publicKeyToken="6595b64144ccf1df" 4 z6 @; Z( S; y* O. G
          language="*" ) ~9 U3 z8 ^9 ]6 E( i' d
        />
3 W& o6 }+ I' W0 J2 ?    </dependentAssembly>
( B# Q) @  _+ A; b0 i5 G' f2 g4 l9 S  </dependency>
# ^5 a' \8 X* h/ M1 Q7 n! a; E0 z</assembly>, M2 s; |) @# G1 j$ k3 U  w

; l! E8 Q  z0 U( d  t* r% N2 k3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。
" t! b/ O2 b# N: Y; r: }* n- j& W: T8 w5 I$ b
4、打开工程中的Resource.h文件,加上:$ }: d9 z! d8 }" X* Z0 d
#define IDR_MANIFEST  1
4 _4 O% ~9 E6 h+ H4 [' Z" |1 l#define RT_MANIFEST 24 % J7 |) o4 p5 o1 w  D6 U
% W+ V" ?8 L+ O. b8 K* h; C* G# I
5、将工程的res\*.rc2文件打开, 加上:' }6 i4 C7 r3 i' h; P* M3 T
// Add manually edited resources here...$ s( i3 Z3 b; S
IDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"
# K$ d6 y' g" {* K" j) A2 I% g( r' D/ V$ Y7 b4 p+ Z& w

% Z: C( g  @6 i" t. b+ T+ W  U. k& Q6、Rebuild.....就可以了。# y# b+ b4 E8 z1 }4 H
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-4 17:04 , Processed in 0.019111 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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