티스토리 뷰

반응형

api나 mfc로 gui프로그램을 만들때 리소스편집기에서 보이던 모양과 실제 컴파일후의 실행된 응용프로그램에서 보이는 컨트롤들의 스타일이 윈도우 98/2000시절 스타일로 보이는 경우가 있다. xp이상에서 지원되는 comctl32.dll의 기능을 사용해야 컨트롤의 모양이 이쁘게 표시된다.




위와같이 편집기에서는 이쁜 모양으로 나오지만



실제 컴파일을 해보고 실행해보면 이렇게 허접한 스타일로 바뀌어버린다.


따라서 비주얼스타일을 먹이려면 mfc는 stdafx.h에 mfc가아니라면 적당한곳에 다음의 링커옵션을 먹이면 된다.


#ifdef _UNICODE

#if defined _M_IX86

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")

#elif defined _M_IA64

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")

#elif defined _M_X64

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")

#else

#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")

#endif

#endif




이렇게 링커옵션을 먹이면



컴파일후에 실행해도 위와같이 비주얼스타일을 먹은상태로 실행된다.

반응형

'Programing > API' 카테고리의 다른 글

화면캡쳐방지 구현  (3) 2012.09.15
포커스를 받지 않는 윈도우  (0) 2012.07.21
블랙홀 효과  (0) 2011.11.21
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함