CListCtrl 类确实有一个名为 CListCtrl::EditLabel 的公共方法,它用于启动对列表视图项标签进行编辑的操作。

以下是 CListCtrl::EditLabel 方法的简要说明:
CEdit* EditLabel(int nItem, int nSubItem);

  •  nItem:要编辑的项的索引。

  •  nSubItem:要编辑的子项的索引。


该方法返回一个指向 CEdit 对象的指针,该对象表示正在编辑的标签的编辑框。通过调用此方法,可以启动对指定项和子项的标签进行编辑的操作。

例如,如果你想编辑列表控件中的第二项的第一列,可以使用以下代码:
CEdit* pEdit = m_listCtrl.EditLabel(1, 0);
if (pEdit != nullptr) {
    // 在这里可以对编辑框进行一些设置,例如设置文本选择范围等
    pEdit->SetSel(0, -1);

    // 将焦点设置到编辑框
    pEdit->SetFocus();
}

这将返回一个指向正在编辑的标签的 CEdit 对象的指针,你可以通过该对象进行一些进一步的操作。

请注意,CListCtrl::EditLabel 方法仅在 LVS_EDITLABELS 样式被启用时有效,因为只有启用了编辑标签的功能,你才能编辑标签。




转载请注明出处:http://www.zyzy.cn/article/detail/18504/MFC/CListCtrl