原來問題在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
意即:只有在使用unicode編碼時才會顯示modern風格。
於是我們只要把這段**提到#ifdef _unicode外面即可:
#ifdef _unicode
#endif
#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
參考:還有一種方法:
單位元組字符集,多位元組字符集,Unicode
我們在這裡介紹一下字元型別。這裡有3種編碼模式對應3種字元型別。第一種編碼型別是單子節字符集 single byte character set or sbcs 在這種編碼模式下,所有的字元都只用乙個位元組表示。ascii是sbcs。乙個位元組表示的0用來標誌sbcs字串的結束。第二種編碼模式是多位...
多位元組字符集 MBCS
visual c 支援多位元組字符集 mbcs 多位元組字符集 mbcs 是一種替代 unicode 以支援無法用單位元組表示的字符集 如日文和中文 的方法。為國際市場程式設計時應考慮使用 unicode 或 mbcs,或使程式能夠通過更改開關來生成支援兩種字符集之一的程式。最常見的 mbcs 實現...
多位元組字符集 MBCS
visual c 支援多位元組字符集 mbcs 多位元組字符集 mbcs 是一種替代 unicode 以支援無法用單位元組表示的字符集 如日文和中文 的方法。為國際市場程式設計時應考慮使用 unicode 或 mbcs,或使程式能夠通過更改開關來生成支援兩種字符集之一的程式。最常見的 mbcs 實現...