关于点击树控件的消息响应问题?

lc79 2003-06-01 10:54:00
我写了一个类CMyTreeCtrl继承至CTreeCtl类,在CMainFrame::OnCreate中动态创建了树,在程序启动起来后也看到了,但是我在CMyTreeCtrl响应点击子项目中却没有响应,只能够响应OnNotify,TVN_SELCHANGED、 TVN_SELCHANGING 和单击双击都没有响应
我创建这个的时候父窗口为我动态创建的属性页。

请问高手这是怎么回事呢?先谢谢各位了!!!!!

...全文
118 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenzb 2003-06-02
  • 打赏
  • 举报
回复
你是不是再父窗口已经拦截了NM_DBLCLK消息呢?
lc79 2003-06-02
  • 打赏
  • 举报
回复
up
lc79 2003-06-02
  • 打赏
  • 举报
回复
可是我这根本没有响应这个消息啊
void CMyTreeCtrl::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
AfxMessageBox("OnDblclk");
*pResult = 1;
}
我点击了并没有弹出对话框,奇怪的很啊
feiniaoliang 2003-06-02
  • 打赏
  • 举报
回复
你可以试着再你的View中去create你的treectrl!!

或是再CMainFrame中去create一个View,然后再这个view中去create你的treectrl
ifromheaven 2003-06-02
  • 打赏
  • 举报
回复
Sorry,刚才漏了一句声明,应该是:
void CMyTree::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
HTREEITEM tree;
tree=this->GetSelectedItem();//加入此句获得选中的节点
//添加自己的处理代码
*pResult = 0;
}

ifromheaven 2003-06-02
  • 打赏
  • 举报
回复
双击节点的消息为=NM_DBLCLK
在ClassWizard中重载
出现函数:
void CMyTree::OnDblclk(NMHDR* pNMHDR, LRESULT* pResult)
{
tree=this->GetSelectedItem();//加入此句获得选中的节点
//添加自己的处理代码
*pResult = 0;
}
joachern 2003-06-02
  • 打赏
  • 举报
回复
up
lc79 2003-06-02
  • 打赏
  • 举报
回复
谢谢,我果然是在父窗口拦截了OnNotify,嘿嘿,不好意思啊:(给分
kingtsui 2003-06-02
  • 打赏
  • 举报
回复
不要再CMyTreeCtrl 里处理这些消息,Notify消息是发给父窗口的,也就是说,你得在CMainFrame里处理这些Notify消息。
也不是父窗口拦不拦截的问题,本来就是发给父窗口的
lc79 2003-06-01
  • 打赏
  • 举报
回复
我在里面也试了下,不过还是不行,能告诉具体应该在里面怎么处理吗?
kingtsui 2003-06-01
  • 打赏
  • 举报
回复
TVN_SELCHANGED、 TVN_SELCHANGING以及单双击都是Notify消息啊,在OnNoitfy里处理就是了

15,979

社区成员

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

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