GetDlgItem得到的TreeCtrl指针,怎么不能够响应消息?

shadowWind 2004-12-21 05:52:03
我有一个CXTreeCtrl是CTreeCtrl的子类,实现drap&drop的。
我的程序中有一个FormView派生的子类,其中包含了一个 CXTreeCtrl *pXTree;
初始化pXTree,用GetDlgItem();
但我试图拖动节点时,发现根本不能响应消息。

我怀疑是TreeCtrl初始化的缘故:
因为:
我另外做了一个基于Diaglog的简单程序,包含了一个TreeCtrl控件。
如果用CXTreeCtrl *pXTree; 以GetDlgItem()初始化,不能响应消息。( 比如:OnMouseMove() )
但是,如果加成员变量 CXTreeCtrl Tree; 用DDX_Control()关联,这样做是可以响应消息的。

问题在于:
在FormView中我也试图加 CXTreeCtrl Tree; 用DDX_Control()关联,
但使用Tree时就出现 Debug Assert Fail.
用指针没有出错,却不能响应消息。

我这个程序TreeCtrl必须加在FormView。

怎么做才能响应消息呢?

谢谢!
...全文
117 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
shadowWind 2005-01-25
  • 打赏
  • 举报
回复
应该为formview添加消息响应函数。
这样就可以实现目的。
shadowWind 2004-12-22
  • 打赏
  • 举报
回复
我只在
包含treectrl的FormView中:DoDataExchange(...)里面
加了一句:DDX_Control(...)

别的地方没有用过。
shadowWind 2004-12-22
  • 打赏
  • 举报
回复

去掉的话

CTreeCtrl变量 和 FormView里面的TreeCtrl控件 怎么关联起来呢?

回复人: arvid_gs(west) ( ) 信誉:130 2004-12-22 13:29:00 得分: 0


加了一句:DDX_Control(...) 去掉!



arvid_gs 2004-12-22
  • 打赏
  • 举报
回复
加了一句:DDX_Control(...) 去掉!
oyljerry 2004-12-22
  • 打赏
  • 举报
回复
定义的地方是否改过来
蒋晟 2004-12-21
  • 打赏
  • 举报
回复
同一个ID的控件关联两次会有ASSERT的……
检查你的DDX函数
Kudeet 2004-12-21
  • 打赏
  • 举报
回复
什么错误?debug错误你可以用F11跟进去看看
shadowWind 2004-12-21
  • 打赏
  • 举报
回复
laiyiling(陌生人·钻研MS技术) :

谢谢~

我就是按你说的那么做的。

问题是:关联的时候会出现错误,不知道什么原因。(拖到formview中的时候)
Kudeet 2004-12-21
  • 打赏
  • 举报
回复
可以直接在上面拖个树控件,关联一个CTreeCtrl,然后手动把CTreeCtrl都改为CXTreeCtrl
shadowWind 2004-12-21
  • 打赏
  • 举报
回复
我用的就是这个例子里面的类。。。。。。。
lpy2003 2004-12-21
  • 打赏
  • 举报
回复
给你个链接
http://www.vckbase.net/code/winui/tree/dragtree.zip

看了这个就会了

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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