Application에 XP(Vista) Style의 테마 적용하기
XP 이후의 OS에서는 공용 컨트롤들이 좀더 예쁘장한 모습으로 나타납니다.
[ Windows 2000이전 공용 컨트롤들의 모습]
[ Windows XP이후 공용 컨트롤들의 모습]
내가 만들 Application에도 좀더 세련된 모양의 공용 컨트롤을 사용하려면 아래와 같이 작업하시면 됩니다.
n VC 6.0
1. 아래와 같은 메니페스트 파일을 작성합니다.
MyApp.exe.manifest |
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity version="5.1.0.0" processorArchitecture="x86" type="win32" name="MyApp.exe"/> <description> MyApp Application</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="x86"/> </dependentAssembly> </dependency> </assembly> |
2. resource.h파일에 MANIFEST_RESOURCE_ID를 정의 합니다.
resource.h |
#define MANIFEST_RESOURCE_ID 1 |
3. rc파일에 리소스를 추가합니다.
MyApp.rc ///////////////////////////////////////////////////////////////////////////// // // 24 // MANIFEST_RESOURCE_ID 24 MOVEABLE PURE " MyApp.exe.manifest" |
n VC 2003 이상
ü 위에서 작성된 manifest파일을 [ 프로젝트> 속성 > 구성속성> 메니페스트 도구> 입력 및 출력>추가 메니페스트 파일 ] 항목에 추가한 후 빌드합니다.
ü 혹은 아래의 문구를 stdAfx.h등의 헤더 파일에 추가 한 후 빌드합니다.
( 이 부분은 MFC 프로젝트의 경우, stdafx.h에 자동으로 추가되는 구분이며, #ifdef _UNICODE 로 감싸져 있어, Unicode프로젝트에는 자동으로 적용되는 부분입니다. )
X86 |
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") |
X64 |
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"") |
'Windows Programming' 카테고리의 다른 글
[Link] Windows 7 SDK Download (0) | 2011.11.07 |
---|---|
Win32 프로젝트에서 CString 사용하는 방법.... (0) | 2011.10.11 |
[MFC] Templete에 설정된 각 클래스 접근(MDI) (0) | 2011.07.18 |
[MFC] Templete에 설정된 각 클래스 접근(SDI) (0) | 2011.07.18 |
파일/폴더 선택창 띄우기 (0) | 2011.06.28 |