问题描述
为了在填充数据后自动选择 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;