或者取得可视范围中最左上角的item编号也可以
解决方案 »
- unsigned char*变量问题
- 对程序运行时候的判断
- 在线等数据库addnew出错
- 哈哈,简单问题,摆明就是给你们加分的!高手们进来哦!
- 请教:一对话框模式的串口通信小程序,只有DEBUG版本,必须装VC才能运行,如何不装VC也能运行?
- MFC中图片控件中位图的移动问题
- 为什么在SQL语句加上点限制之后,更新字段会出错?
- 在做设计,手头比较紧,但是决不亏待大家 小问题 不过要快!!!1!!!!!!!!
- 紧急求助,两小时内结贴:客户端和服务端均采用UDP协议,第一次运行可以,第二次运行时接收不到服务器信息
- c++计算效率问题
- 关于得到bitmap的高和宽!
- VC Q群:18867236 欢迎加入!
CRect rect;
List.GetWindowRect(&rect);根据rect得到最左上角的item的一个点的坐标再模拟一下鼠标左键在该点的点击后在OnClickFreqList中下面调用,nItem即为结果 :int nItem ;
POSITION pos = pList->GetFirstSelectedItemPosition();
if (pos == NULL)
TRACE0("No items were selected!\n");
else
{
while (pos)
{
nItem = pList->GetNextSelectedItem(pos);
TRACE1("Item %d was selected!\n", nItem);
// you could do your own processing on nItem here
}
}
CRect rect;
m_cListCtrl.GetViewRect(&rect);
CPoint pt,pt1(100,100);
int first;
for(int i=0;i<m_cListCtrl.GetItemCount()-1;i++)
{
m_cListCtrl.GetItemPosition(i,&pt);
pt.y+=rect.top;
if(pt.x<=pt1.x && pt.y<=abs(pt1.y))
{
pt1=pt;
first=i;
}
}
str.Format("目标为第%d项,坐标:%d,%d",first,pt.x,pt.y+=rect.top);
AfxMessageBox(str);
-----------------------------------------------------------------------------------
上面的代码就可以在大、小图标模式下得到可见第一个项目。