【发布时间】:2012-05-25 20:43:10
【问题描述】:
我正在 Visual Studio 2008 中开发 MFC 应用程序。我有一个带有复选框的 CListCtrl 对象。 我想知道是否有一种简单的方法可以让空格键切换所有突出显示的项目。现在,在空格键按下事件中,我正在这样做:
void toggleSelect()
{
POSITION pos = m_cListCtrl.GetFirstSelectedItemPosition();
while(pos)
{
int index = m_cListCtrl.GetNextSelectedItem(pos);
BOOL check = m_cListCtrl.GetCheck(index);
m_cListCtrl.SetCheck(index, !check);
}
}
如果不是我认为在突出显示单个项目时空格键的默认行为(选中单个项目时复选框会自动切换),这将起作用。这段代码的问题是总有一个复选框未切换。这是因为空格键的默认行为是切换选定的单个项目。无论如何要禁用默认值?
【问题讨论】:
标签: c++ visual-studio-2008 visual-c++ mfc