如果我想更改ListView控件中的焦点项,请执行以下操作:
BOOL setListFocusItem(CListCtrl* pList, int nIndex)
{
return !!pList->SetItemState(nInd, LVIS_FOCUSED, LVIS_FOCUSED);
}
这是你的方式吗?
因为焦点本身会发生变化,但这会产生一个问题。例如,如果列表有100个项目,焦点是项目1.如果我然后调用我的方法setListFocusItem(99);
,焦点将更改为项目99,但如果我按住Shift键单击项目90,我会期望列表中选择项目90到99。但是相反,列表会选择项目1到90.所以很明显,我的setListFocusItem()
方法不会更改shift-click“first”位置。所以问题是如何做到这一点?