我在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应用程序:
使用VS2010构建的MFC应用程序:
我在这里做错了什么?代码完全相同。
VS2015是否支持MFC?
答案 0 :(得分:0)
它可能不是“最先进的”修复程序,但我用以下行修补了这个错误:
SetWindowTheme(m_boards.GetSafeHwnd(), L"Explorer", "L");
在我的对话框的OnInitDialog()
方法中,m_board是CheckListBox
方法中绑定到我的列表框控件的成员DoDataExchange()
。
你可能想要使用另一个主题而不是资源管理器。