我如何 select CListCtrlEx 中的整行

How do I select an entire row in a CListCtrlEx

为了在 CListCtrlEx 中的其中一行填充数据后自动 select 应该做什么。 目的是 select 显示 CListCtrlEx 时的默认行。例如,如果显示的数据是城市列表,要显示其中一个城市(可能是之前 selected 的城市),下次显示控件时默认 selected。

假设 m_MyList 是对话框的一部分,我们将以下行添加到 OnInitDialog() 并且我们想要 select 第一行:

m_MyList.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
m_MyList.SetItemState(0, LVIS_SELECTED | LVIS_FOCUSED, LVIS_SELECTED | LVIS_FOCUSED);
m_MyList.SetFocus();
return FALSE;  // return TRUE  unless you set the focus to a control

不要忘记更改默认值

return TRUE;

return FALSE;