gpt4 book ai didi

c++ - 如何正确更改 ListView 控件中的焦点项?

转载 作者:可可西里 更新时间:2023-11-01 10:05:53 28 4
gpt4 key购买 nike

如果我想更改 ListView 控件中的焦点项,我执行以下操作:

BOOL setListFocusItem(CListCtrl* pList, int nIndex)
{
return !!pList->SetItemState(nInd, LVIS_FOCUSED, LVIS_FOCUSED);
}

你是这样做的吗?

因为焦点本身会发生变化,但这会产生一个问题。例如,如果列表有 100 个项目并且焦点在项目 1 上。如果我这样调用我的方法 setListFocusItem(99); 焦点将更改为项目 99,但是如果我转移 -单击项目 90,我希望列表中的项目 90 到 99 被选中。但是列表选择了 1 到 90 项。所以很明显,我的 setListFocusItem() 方法不会更改 shift-click 的“第一个”位置。那么问题是如何让它做到这一点?

最佳答案

简答:使用 LVM_SETSELECTIONMARK消息。

(在 MFC-ese 中,CListCtrl::SetSelectionMark)。

关于c++ - 如何正确更改 ListView 控件中的焦点项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25797912/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com