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

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

[复制链接]
发表于 2008-1-31 14:10:26 | 显示全部楼层 |阅读模式
一、在VS 2003 环境中:2 |( f" h" B5 k! Z  r  {: [
1.在工程的目录下建一个名为 xpapp.manifest的文件. 把下面的内容拷到这个文件中:& b4 |1 J/ J/ L! q/ z
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>5 u3 q, I/ j% f, ^2 y
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
. d( K4 H! c) {' \<assemblyIdentity 1 Y! ?0 e+ d/ J4 L1 Q% G) {" E1 W; v0 Z
    version="1.0.0.0"
! R% a9 j) Y: s* Y    processorArchitecture="X86"
! k8 b) @  q; h- D( z- L    name="Microsoft.Windows.ViPod"- g" m3 R( f7 X$ K0 d2 l. y7 l
    type="win32" 0 p* L/ ~  a+ k! u  C  u+ n
/>
5 F6 v% p$ H/ y$ N0 i) J<description>Your app description here</description> # }4 z9 c" n) G6 j/ ~
<dependency>
; @8 l' t7 B3 Z- k! `! o    <dependentAssembly> # c0 c9 l1 o- s
        <assemblyIdentity 8 E) _# V0 ~3 Q: f3 z+ n
            type="win32" $ J; w- n7 O# v1 Z! z& \% x
            name="Microsoft.Windows.Common-Controls"
" v! S7 ]% ~# Z% H! f# j            version="6.0.0.0" ; W2 u0 G# U5 G; Q7 ^0 _4 V8 N
            processorArchitecture="X86"
; S, B( a. ]$ K; g9 }( r            publicKeyToken="6595b64144ccf1df" & D6 n, z2 o# @  B3 J, R/ O1 D1 P, Z6 P
            language="*" ! I) o3 t. {4 S: r0 u  {% R
        />
4 J7 |0 h6 b, M! _0 o6 Y' H    </dependentAssembly>
/ r* v9 K: r& z' w* \7 }</dependency>
! o5 E1 H# n9 x7 P3 E. t) E: H8 `$ O</assembly>
. L+ ^9 ^# `8 ~7 X
1 C! P' d$ ^9 h3 _% j2.将工程的*.rc文件打开, 加上这样一句话(注意要加上#endif前):
$ }5 h" G" [5 U9 |+ b  ~//这名话是告诉工程使用刚才我们创建的那个文件,使程序界面变成XP风格9 Y+ P4 D. k( I/ w. ~1 Z* O
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "xpapp.manifest"7 A3 L7 _+ _! O5 ]0 s

; @9 ?# W( R! w3 t! e9 ?' g9 u3.在工程的C*App文件中加上" W  `6 Q# `5 u
#pragma comment(lib, "ComCtl32.lib")      //3步是选做
) k$ e; z1 s" Z+ |" |3 [4.如果你的代码是用V6的向导生成的,那必须将工程转成vc.net下,然后在C*App的InitInstance()最开始出加上' O. ^2 i) n' N' O7 q' K& {
InitCommonControls();这个函数,V6的向导不会自动添加这个函数.2 s8 Y! R5 p; S2 q
//4步是选做- M$ S( e, @8 R* }0 |3 a% E6 n* v
0 T" S, n9 |* @+ D6 W8 t
5 y; E1 O: a# C7 Q) r
二、如果是VS 2005 则有所不同:
. w6 C. `3 X7 Y" [% T, zVS 2005中,如果Project->Property  -- General -- Character Set 为Use Unicode Character Set,那么程序的界面自然就是XP风格,不需要手动添加任何东西。但是如果这里是Use Multi-Byte Character Set,那么就要自己动手加东西了,和上面操作差不多。
% p. S4 m$ B; Z* A1 G7 A7 U
; T* V* P* X5 Z. x7 C1 n' m1、建一个名为XPStyle.manifest的文件
6 B5 I1 c" I6 \% |: D9 Z2、把下面的内容拷到这个文件中% E+ b2 m9 s+ I1 I" j1 e: D& v* P: Z
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
( [% Y& z0 ]& W) ]/ n4 o6 Q* s<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">1 `4 A9 p6 X( c2 v4 r, l3 u
  <assemblyIdentity $ C, I- e; O* _) R! j; E( B  g
      version="1.0.0.0" ) j% |  u2 t; j# Z
      processorArchitecture="X86" + E" C) ~; [" X! O- K) N
      name="Microsoft.Windows.WorkSapceName"
% y4 D9 R) f) h1 I9 i      type="win32"   L/ g9 R4 j! z
/>$ X5 V! B1 P7 k3 I6 N
  <description>Your app description here</description>
* n& p) s: O! h2 d+ c  <dependency>5 |' {& i* Y; U7 S) Z
    <dependentAssembly>
  Y( q6 v/ \3 L      <assemblyIdentity
  }3 a/ Q' E% s1 S2 E7 J& p          type="win32"
3 ]/ ?' H+ s- w% f$ R5 z1 }          name="Microsoft.Windows.Common-Controls" 7 g7 [* B0 Z. Y1 Z! f" O: n' T
          version="6.0.0.0" 9 X; G, D$ a2 [. ?8 s
          processorArchitecture="X86" 8 X, F6 l' n! C1 M; t0 L- x0 z- s
          publicKeyToken="6595b64144ccf1df" * e+ ^! W: h  ]% g* x# A
          language="*" 1 ]1 B4 A  w, f+ S: |# n1 M8 s  B
        />
5 L7 N; W6 Z! m5 K3 ~8 u, l    </dependentAssembly>
0 ]" U! x- @! U, l1 Z. ~  </dependency>
) w  h( {; @; W) `( s+ o( y3 k</assembly>
6 S& g9 ?0 j/ R6 `& J, m
3 m% ?7 a% G# ?' M; ^3、Project->Add Existing Item...将XPStyle.manifest添加到工程中。. A! k) X' [) B8 g! O

" D$ M7 W$ P9 u& L3 V& ]7 {8 x7 O4、打开工程中的Resource.h文件,加上:
* ?8 a- |9 u. N( Y#define IDR_MANIFEST  1 " _5 N' `- W8 B# N& \
#define RT_MANIFEST 24 * ]% X) q# z0 L! j: R- G
) {" t. \( N; p  G& H6 s" _  A
5、将工程的res\*.rc2文件打开, 加上:+ d8 c3 v& k2 v1 Z) S$ }
// Add manually edited resources here...
0 U" E0 P/ S$ m8 I2 D& v# O) aIDR_MANIFEST RT_MANIFEST MOVEABLE PURE   "res\\XPStyle.manifest", `6 ]) s' q3 N0 E

$ ~9 \8 K1 W" e& N! d7 r4 S
( \) [$ k: x# F6、Rebuild.....就可以了。
& O: s$ Y2 H2 `8 @! V- P3 d(源自:http://blog.csdn.net/limigy/archive/2006/04/04/650008.aspx)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-8-9 02:20 , Processed in 0.034292 second(s), 15 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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