У меня есть элемент управления списком CListCtrl
с именем m_listCtrl
, который отображает ID
, Firstname
и Lastname
при создании диалогового окна.В приведенном ниже коде я обрабатываю double click
, получая position
элемента, по которому щелкнули, и изменяя значение первого столбца этой строки.
//This is in the message map and IDC_LISTNAMES is the list control
ON_NOTIFY(NM_DBLCLK, IDC_LISTNAMES, OnDoubleClick)
void CSqlMfcTestDlg::OnDoubleClick(NMHDR* pNMHDR, LRESULT* pResult)
{
POSITION pos = m_listCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_listCtrl.GetNextSelectedItem(pos);
itemClicked = nItem;
CString idString = m_listCtrl.GetItemText(nItem, 0);
CString textString = m_listCtrl.GetItemText(nItem, 1);
MessageBox(L"Item Clicked is : " + textString);
m_listCtrl.SetItemText(nItem,0, idString+L"(Clicked)");
}
}
}
вместо m_listCtrl.SetItemText(nItem,0, idString+L"(Clicked)");
Я хотел быдобавьте оператор, чтобы изменить цвет этой строки.