Duilib list控件点击事件 GetCurSel获取的都是前一次的index

AI- 2018-01-29 03:28:15
...全文
727 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuhao11223344 2020-04-08
  • 打赏
  • 举报
回复
https://blog.csdn.net/qq_37059136/article/details/87871960
lx624909677 2018-10-23
  • 打赏
  • 举报
回复
duilib的控件在刚点击完后,立刻获得数值,回因为数值还没来得及更新而获取错误,解决方案有两个,一个是用一个变量来记录上次的数值,然后根据增加或者减少操作来修改这个数值,第二个办法是跟到duilib源码里,看下index增加的业务处理是在什么地方,然后在这个之后来重新取值,除此之外可能还有一种方法,就是数值的获取不要放在点击事件里去做,可以放在别的点击事件里去专门出发下这个数值的获取
oldn123 2018-10-20
  • 打赏
  • 举报
回复
应该是事件用错了,先跟到dui 源码层,然后单步跟踪,可以找到正确的事件,再获取就可以了,多看下他的源码,不难理解。
咸蛋潮人 2018-10-19
  • 打赏
  • 举报
回复
引用 3 楼 hurryboylqs 的回复:
你是响应DUI_MSGTYPE_ITEMCLICK 这个通知后获得么 如果是的话,因为它代码是先发这个通知再选中,所以如你所说一样 你可以改下代码或者换种思路实现
这个怎么改比较合适?
hurryboylqs 2018-01-29
  • 打赏
  • 举报
回复
你是响应DUI_MSGTYPE_ITEMCLICK 这个通知后获得么 如果是的话,因为它代码是先发这个通知再选中,所以如你所说一样 你可以改下代码或者换种思路实现
AI- 2018-01-29
  • 打赏
  • 举报
回复
int nIndex = plist->GetCurSel(); //第一次点击 返回-1 后面的每次点击返回的都是前一次的index CListTextElementUI* pListElement = static_cast<CListTextElementUI*>(plist->GetItemAt(nIndex));
AI- 2018-01-29
  • 打赏
  • 举报
回复
如题,麻烦各位有研究过 Duilib的给解释一下

15,979

社区成员

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

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