今天使用CCheckListBox,發現增加進去的字符串無法顯示,但是當點擊的時候,確有反應。
仔細檢查代碼,沒有問題。之前也是這樣用的,完全沒有問題。
思前想后,覺得是因為使用了Skin++皮膚庫,於是注釋掉皮膚庫的加載使用。
//skinppLoadSkin(_T("bOzen.ssk"),0);
然后重新編譯運行,OK,確實是皮膚庫的問題。
皮膚庫注釋掉了,但是軟件界面變成了windows 2000的風格,這多丑啊。
檢查代碼,想到之前因為字符集的原因,選擇了UNICODE的字符集。
所以界面風格變成了window 2000的風格。
在"stdafx.h"中, 注釋掉
#ifdef _UNICODE #endif
變成如下:
//#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_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
重新編譯運行程序,OK了,截面風格變成了和系統主題一樣的風格。
OK,大功告成。