MFClistctrl中的Item改变先后顺序的问题

我是使用下述语句来给MFClistctrl插入带图标的ITEM的HICONmyIcon=AfxGetApp()->LoadIcon(IDI_ICON2);CImageLi... 我是使用下述语句来给MFC listctrl 插入带图标的ITEM的
HICON myIcon=AfxGetApp()->LoadIcon(IDI_ICON2); CImageList myList;
myList.Add(myIcon);
myList.Create(64,64,ILC_COLOR32,8,8);
m_list.SetImageList(&myList,LVSIL_NORMAL);
LVITEM lvitem;
lvitem.mask=LVIF_IMAGE|LVIF_TEXT;
lvitem.iItem=0;
lvitem.pszText=(LPTSTR)(LPCTSTR)m_name;
lvitem.iImage=0;
lvitem.iSubItem=0;
m_list.InsertItem(&lvitem);
我调用了3次这样的语句,现在我想要设计2个按钮,第一个按钮用户可以让选中的item上移,就是上调一个顺序,比如本来是第三个item换到第二个来,而第二个item换到第三个来,第二个按钮恰恰相反,是让item的顺序后移的,但是我不知道要用什么函数?还有,我需要一个可能是Get...()这样的函数来获取m_list这个Listctrl中选中的item,请问有没有这样的函数啊?好心人帮帮我,答得好的一定追加
展开
 我来答
几点开盘
2010-07-09 · TA获得超过456个赞
知道小有建树答主
回答量:276
采纳率:0%
帮助的人:190万
展开全部
CListCtrl::GetFirstSelectedItemPosition

POSITION GetFirstSelectedItemPosition()

返回一个用于迭代或获取对象指针的POSITION值;如果没有选择任何项,那么将返回NULL。

在列表视图控件中获取第一个选择项的位置。

MSDN给出了该函数的用法。
CListCtrl* pListCtrl=( CListCtrl* )GetDlgItem(IDC_YOURLISTCONTROL);
ASSERT(pListCtrl !=NULL)
POSITION pos = pList->GetFirstSelectedItemPosition();
if (pos==NULL) TRACE0("No items were selected!\n")
else
{
while (pos)
{
int nItem=pList->GetNextSelectedItem(pos);
TRACE1("item %d was Selected!\n",nItem);
//you could do your processing on nItem here
}
}

另外交换list的一项可以用这个函数
CListCtrl::SetItemPosition

BOOL SetItemPosition(int nItem,POINT pt)

返回值:如果成功,则返回非零值,否则为0。

参数: nItem 要设定位置项的索引。
pt 在视图坐标中指定项左上角新位置的POINT结构值。

具体我也没试你自己试试看吧
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式