Skin++ 皮肤库 CCheckListBox MFC 界面风格

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

原文地址:https://www.cnblogs.com/fredliu/p/5254069.html