VC 2008 將控制項變成XP樣式

2021-05-22 19:31:22 字數 1382 閱讀 2057

在工程屬性中,如果設定的是非unicode字符集的話,執行的控制項就是2000的,如果是unicode字符集的話,執行的控制項就是xp的了,把字符集改一下就行了。

拿乙份執行是xp風格的程式和乙份2000風格的程式進行比對,結果在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巨集時,鏈結器開關就不會被開啟了,因此可以改變工程屬性的字符集,使用了unicode字符集後,編譯器就開啟了巨集定義開關--/d "unicode" /d "_unicode", 這樣鏈結器的響應開關也被開啟了。

如果不想使用unicode字符集,很簡單只需要把stdafx.h末段的兩條預編譯指令「#ifdef unicode」和「#endif」去掉就ok了。至於最後這段鏈結器開關是什麼意思就不多解釋了,很煩,有興趣參見msdn。

VC 2008 常用操作

1 恢復預設布局 有時vs2008會出現介面worksapce在右邊,toolbox在左邊的情況,這樣看起來很不舒服,也不習慣,通過以下方法即可改變 tools import and export settings wizard,選擇reset all settings 下一步,儲存設定,下一步,選...

Vc 2008托盤氣泡程式

新建乙個mfc 對話方塊程式 新增成員變數 notifyicondata m 新增方法 bool setuptrayicon hwnd hwnd 上面的 新建乙個圖示在系統托盤處。當推出系統時刪除托盤圖示 bool removetrayicon 新增顯示氣泡方法 bool showtooltip l...

vc2008程式發布指南

vc2008程式發布指南 2008 05 03 17 46 vc2008開發的程式的發布方式可以有5種方式 1 不必重新發布vc2008基礎庫vcredist x86.exe 安裝到winsxs 2 不必產生,嵌入manifest.3 也不把vc2008基礎庫放在程式所在目錄.2.exe 嵌入man...