如何在 CListCtrlEx 中选择整行

问题描述

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

解决方法

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

m_MyList.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE,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;