본문 바로가기
Study/MFC

유니코드와 멀티바이트에 따른 컨트롤 테마 변경

by 뿡뿡대마왕 2011. 9. 28.
반응형

작업을 하는도중 유니코드에서 멀티바이트로 옵션을 바꾸게 됬는데...
글쎄 체크박스라던지 프로그레스바 라던지 컨트롤 스타일이 엄청 구리게 변하는거 아닌가??
뭥미?? 한참을 찾고 이래저래 테스트해보니 유니코드와 멀티바이트 차이더구만..
음..멀티바이트 옵션으로 하고 어떻게 바꿀수 있을까 찾던도중 해답을 찾았다..^^
 
출처: http://synclife.tistory.com/24


stdafx.h 파일 제일 아래에 보면
#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


이런게 정의 되어있다. 뭘 의미하느냐??
이게 바로 프로그램의 컨트롤에 테마를 적용시키는 부분이다.
그런데 왜 #ifdef _UNICODE 이렇게 되어있냐고!!!
썩을... 유니코드로 플젝을 하지 않는 이상 윈도우 테마가 내 프로그램에 절대 적용 될리가 없는 코드다.

빌어먹을 #ifdef _UNICODE 를 삭제하도록 하자...
반응형

댓글