GetCursorPos()函数的奇怪现象

在对话框上拖一个list控件。

风格定义如下:

m_listResult.SetExtendedStyle(LVS_EX_CHECKBOXES |LVS_EX_FULLROWSELECT |LVS_EX_GRIDLINES);

在list表中插入多行数据,使得垂直滚动条可用。相应list的双击消息

void CWGregDlg::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult) {
CPoint point;
GetCursorPos(&point);
 LVHITTESTINFO lvhti;
    lvhti.pt = point;
 int nItem = CListCtrl::SubItemHitTest(&lvhti);
 if(nItem == -1)
  return;
 int nSubItem = lvhti.iSubItem;
 if (nSubItem != 1)//只有违规相对时间列可以修改
 {
  CListCtrl::OnLButtonDblClk(nFlags, point);
  return;
 }

。。。。。。 

}

双击list表中,最下方的几条数据(个数不定),也就是运行双击函数时,发生了奇怪的现象。对于最下方的几条数据point值异常(x,y均不正常),如正常应该是point.x=900,得到的却是point.x=400。从而导致nItem=-1,因而该项无法选择。最奇怪的是,如果debug进入该函数point.x的值却是正常值。该项却可以选择。

release版也同样也如此情况。

百思不得其解!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值