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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:. m2 ?& Y. D# l+ u$ j5 y; t: ^
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:0 D3 A' ^% e" E
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
* Y" V6 o! u4 p<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 7 G3 {" k) I; d* u
<assemblyIdentity
5 G  F; N) \' [    version="1.0.0.0"
5 J' ]' N7 O4 N3 y  S    processorArchitecture="X86" ( H' F# X! p" \( w! [. d
    name="Microsoft.Windows.ViPod"- o" E8 |6 l  b2 ?" I, w; T
    type="win32"
. H3 x# w; D1 }* ~/>
/ H! G2 [9 H. k$ p9 i  ^<description>Your app description here</description>
% |0 [3 P1 _0 r& k% e<dependency>
/ N" a6 H1 V! i    <dependentAssembly>
7 K  G9 a- w6 q8 Q0 K        <assemblyIdentity
/ B+ D& t7 F- k            type="win32" 2 q( k. O+ O, z$ U7 u- x
            name="Microsoft.Windows.Common-Controls"
! ?5 N2 p( a, J( T7 `, Y" [            version="6.0.0.0" 4 l+ J) C$ a4 |) ]
            processorArchitecture="X86"
& f9 S) ?/ ~. A9 n            publicKeyToken="6595b64144ccf1df"
* C# a9 ^' r, z* o6 e/ ^; V& Z% L            language="*" ; `# r) [: K& z  E
        />
& A, n+ m. s6 S2 Y$ S/ j5 V3 n    </dependentAssembly> % e, a8 e6 d4 y, Z7 s- X% s3 _
</dependency> 5 S8 F8 N7 I$ j$ _
</assembly>
7 q5 M* Z6 F3 M  q$ K3 n. H: g! e! Z* |5 V4 W2 q+ \- x
2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):+ T2 V2 n( ]  I7 A+ B0 N
//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格6 x5 k/ D4 C5 y, M% q
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"
+ T1 }8 ]2 f- W7 \, z
% w# _' B, a' |, a  Z+ Z& O& e$ V5 e3.在工程的C*App文件中加上
1 ^. {2 R" Q3 }3 {  }+ `. U#pragma comment(lib, "ComCtl32.lib")      //3步是选做
5 D0 _3 P9 T; e, Z2 _3 o, \& J1 ~2 j& R4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上* V( |/ S+ ^6 M' G7 g
InitCommonControls();这个函数,V6的向导不会自动添加这个函数.
" h  k/ g1 L) _//4步是选做
- C# ~6 ]% O, K7 E+ _+ [6 V* h3 |6 x
) w1 y+ d) x$ n/ H
二、如果是VS 2005 则有所不同:* E. S( Z# H+ ?. b
VS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。1 b8 @# r2 e7 H+ H
& ~8 I( G; y9 N3 v5 ]5 x" i
1、建一个名为XPStyle.manifest的文件3 ~# m1 C! X- B& W% M! T
2、把下面的内容拷到这个文件中
. j- r* |9 b0 Z, G, }- W<?xml version="1.0" encoding="UTF-8" standalone="yes"?>$ \! `* ?8 l0 d5 z  r
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">. I5 j( X) d! n% H2 J5 j7 J2 I4 h7 K
  <assemblyIdentity
3 P& s3 t7 N5 Q# `( m. [      version="1.0.0.0"
- Y4 L$ w+ }! f3 x9 W; O      processorArchitecture="X86" - z3 g! v& K9 A0 ^
      name="Microsoft.Windows.WorkSapceName"
' q$ E9 n, m. ~0 e. o$ a2 {; p: E0 d      type="win32" 0 T9 ^* U5 A9 a9 t, a. S
/>
7 w0 s" W5 i( Y0 ]  <description>Your app description here</description>* X0 x( b+ W  F" Y' K
  <dependency>- K* ]' r/ ]- ^9 P. q9 z
    <dependentAssembly>% b* Q$ o( X+ n
      <assemblyIdentity % k' N) B0 S! x
          type="win32"
! y8 l# l' y% ?1 Y+ p7 t7 [          name="Microsoft.Windows.Common-Controls"
, |  O7 q8 |5 h; q. b+ C, A3 ^9 h          version="6.0.0.0"
8 `1 u& U( ~5 B( F0 r2 l+ _          processorArchitecture="X86"
, A# [: C! s2 N' {" x8 J          publicKeyToken="6595b64144ccf1df" 3 Z2 R& P9 S7 \8 @$ t6 z) y/ c
          language="*" 1 _  f4 s, @0 Y/ E
        />5 g3 U; ?. c- j* I
    </dependentAssembly>7 |# w# ~1 @0 G4 y4 g8 A
  </dependency>
) C% }, R+ [3 M% O& L</assembly>
+ P$ y/ G1 A$ j4 h! J$ m; i
* Y$ [6 R3 x$ [3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。$ q1 k- K1 {6 R' K* ?: [
, V/ w" h" [+ p- z4 K2 x
4、打开工程中的Resource.h文件,加上:& s$ g3 [( @  R# @* P/ ~  {0 ?5 e
#define IDR_MANIFEST  1
0 G3 t1 ~3 v5 L#define RT_MANIFEST 24
( g. N( W, V8 A4 A! M2 h( W* Y1 m$ \+ s  M% D
5、将工程的res\*.rc2文件打开, 加上:- V' d# L7 t, g9 I$ X8 H  U
// Add manually edited resources here...
6 Z3 Z' S6 v( N+ F% U0 \8 AIDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest"! v* ^/ a& f5 j  G8 r2 j
, Z+ ?+ g9 V' X$ `
' A4 l4 N. n  ?" a: J( X
6、Rebuild.....就可以了。, y" W9 `6 ~7 o8 i, h0 ?; b
(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-6-19 17:51 , Processed in 0.035589 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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