注册 登录
编程论坛 VC++/MFC

CTreeCtrl 不能收到拖动消息

liqi2009 发布于 2012-07-27 17:03, 558 次点击

我在名为“CConfigDialog”的窗体中,动态生成m_etc(CTreeCtrl 类型)
int CConfigDialog::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
    if (CDialog::OnCreate(lpCreateStruct) == -1)
        return -1;
   
    // TODO: Add your specialized creation code here
    DWORD newstyle =TVS_HASBUTTONS |TVS_HASLINES | WS_BORDER | WS_TABSTOP|WS_EX_DLGMODALFRAME | WS_EX_STATICEDGE;
    if (!m_etc.Create(WS_VISIBLE | WS_CHILD | newstyle   , CRect (30,30,220,400), this, 100))
        return -1;         

        。。。添加树形的条目
        return 0;

然后在CConfigDialog的消息映射中,添加拖动事件处理函数
BEGIN_MESSAGE_MAP(CConfigDialog, CDialog)
    ON_NOTIFY(TVN_BEGINDRAG,100, OnBegindrag)
END_MESSAGE_MAP()
运行的时候,无论我如何拖动(从树形的一个子项,拖动到另一个子项),总是收不到“TVN_BEGINDRAG”消息。请问,是那里错了?
1 回复
#2
liqi20092012-07-28 10:53
已经解决,在init中生成就好了
1