今天使用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,大功告成。