0
我正在開發一個Visual Studio 2008中的MFC應用程序。我有一個CListCtrl對象有複選框。 我想知道是否有一個簡單的方法來使空格鍵切換所有突出顯示的項目。眼下,在空格鍵按下事件我這樣做:Visual Studio 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);
}
}
,如果不是因爲我相信,當一個項目高亮顯示爲空格鍵的默認行爲,這會工作(複選框被觸發自動選擇單個項目時)。這個代碼的問題是,總是有一個未被切換的複選框。這是因爲空格鍵切換選定的單個項目的默認行爲。無論如何禁用默認?
感謝您的詳細答覆,約翰。 我沒有考慮重寫關鍵事件。現在它工作得很好:) –