CTreeCtrl,我在每一项前面添加了一个Checkbox,怎样监听Checkbox的事件呢?

jeng 2006-08-28 02:08:06
CCheckTreeCtrl m_tc;//派生自CTreeCtrl
m_tc.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER | TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES|TVS_CHECKBOXES,
CRect(10, 10, 300, 500), this, 0x1005);

TVN_SELCHANGED :这个消息不能监听到
NM_CLICK :这个倒是能够监听到,可是我不知该如何处理!
...全文
365 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeng 2006-08-28
  • 打赏
  • 举报
回复
多谢提醒,我知道了:
把 CTreeCtrl::OnLButtonDown(nFlags, point);放在前面就行了,默认的放在后面
jeng 2006-08-28
  • 打赏
  • 举报
回复
但是,down的时候你所选择的checkbox还没有被设置!这个时候获取的状态有问题啊
raymonzhao 2006-08-28
  • 打赏
  • 举报
回复
打勾也可以触发WM_LBUTTONDOWN事件啊.你在这里做你想做的事.你可以控制所有的ITEM的状态.
jeng 2006-08-28
  • 打赏
  • 举报
回复
但是打勾的时候,不能触发TVN_SELCHANGED !
raymonzhao 2006-08-28
  • 打赏
  • 举报
回复
http://community.csdn.net/Expert/topic/4940/4940338.xml?temp=.4925348.
以前有人问过这个问题.你可以看看.
思危 2006-08-28
  • 打赏
  • 举报
回复
用HitTest得到当前点击的Item,然后用 GetCheck 判断该Item是否被Check

15,976

社区成员

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

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