MFC列表框中的复选框在VS2015中的显示方式不同

时间:2017-05-12 11:01:47

标签: c++ visual-studio-2010 visual-studio-2015 mfc

我在VS2010中有一个简单的MFC应用程序,我正在尝试将此应用程序移至VS2015环境。

我能够在VS2015中成功构建项目。但是应用程序中的复选框看起来与VS2010不同。

我使用 CCheckListBox 类和CCheckListBox的创建方法来创建复选框。创建复选框时使用的窗口样式和列表框样式如下:
{WS_CHILD | WS_BORDER | LBS_NOTIFY | LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | WS_VSCROLL | LBS_DISABLENOSCROLL | LBS_NOINTEGRALHEIGHT}
我也使用带有BS_AUTOCHECKBOX选项的SetCheckStyle方法。

使用VS2015构建的MFC应用程序:

enter image description here

使用VS2010构建的MFC应用程序:

enter image description here

我在这里做错了什么?代码完全相同。

VS2015是否支持MFC?

1 个答案:

答案 0 :(得分:0)

它可能不是“最先进的”修复程序,但我用以下行修补了这个错误:

SetWindowTheme(m_boards.GetSafeHwnd(), L"Explorer", "L");

在我的对话框的OnInitDialog()方法中,m_board是CheckListBox方法中绑定到我的列表框控件的成员DoDataExchange()

你可能想要使用另一个主题而不是资源管理器。