在MFC中更改CListCtrl的样式

时间:2013-12-12 14:58:38

标签: mfc themes clistctrl

我在mfc应用程序的一个对话框中有一个ListCtrl。我想更改列名称样式和按钮样式,使其看起来更像win7主题。这是右边的listCtrl的旧对话框。

Old look

我想要将表格的顶行和按钮更改为这样的内容,

New Look

可以通过执行m_ElementListCtrl.SetExtendedStyle(..)来改变任何样式吗?还是查看它的一些属性?

1 个答案:

答案 0 :(得分:0)

嗨如果你的应用是Unicode(否则有some problems)你需要使用Common控件6。

在你的stdafx.h文件中,您可能会看到这种代码,如果不是,只需将其添加到文件末尾,如果您将应用程序更改为UNICODE,您将看到具有新样式的控件。

#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

同时检查项目属性 - >连接体 - >清单文件 - >应在Yes (/MANIFEST)

上设置生成清单