首页 > 解决方案 > 如何在 CListCtrlEx 中选择整行

问题描述

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

标签: c++user-interfacemfcdialogclistctrl

解决方案


假设m_MyList是对话框的一部分,我们添加以下行OnInitDialog()并希望选择第一行:

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;

推荐阅读