CList::GetItemPosition在VISTA下不可用?

SammyLan 2009-09-08 05:50:33
项目中遇到个比较诡异的问题
同一段代码,在XP上能运行正确,在VISTA下运行却有问题.
选中一个item,按回车后进入如下代码
在VISTA下debug显示
CList::GetItemPosition获取到的point永远为(-1,-1)
不知道大家有遇到过类似的问题没有?

环境为 VISTA
VS2008+SP1


int nKey = (int)(wParam);
if(nKey==VK_RETURN)
{
POSITION pos = GetListCtrl().GetFirstSelectedItemPosition();
if (pos != NULL)
{
int item = GetListCtrl().GetNextSelectedItem(pos);
CPoint point;;
GetListCtrl().GetItemPosition(item,&point);
/*................................*/
}
}
...全文
58 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
muzizongheng 2009-09-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 muzizongheng 的回复:]
不可以用. 得换个函数...

GetSubItemRect..

CListCtrl还有几个rect的函数最低系统要求vista.
[/Quote]

GetItemIndexRect就是一个例子.
muzizongheng 2009-09-09
  • 打赏
  • 举报
回复
不可以用. 得换个函数...

GetSubItemRect..

CListCtrl还有几个rect的函数最低系统要求vista.
SammyLan 2009-09-08
  • 打赏
  • 举报
回复
GetItemPosition的返回值为TRUE
当时没有考虑GetLastError.....
因为是在同事机器上调试的
明天我GetLastError试一下
zyq5945 2009-09-08
  • 打赏
  • 举报
回复
TRACE+GetLastError
lbjfeng 2009-09-08
  • 打赏
  • 举报
回复
帮顶·~
估计是环境的原因。。。

具体原因未知。帮顶下,同时学习·~
SammyLan 2009-09-08
  • 打赏
  • 举报
回复
纠正一下
是CListCtrl

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧