CMyTree是CTreeCtrl的派生类
ID_BOOK 是自定义消息将引导一个函数加载对话框
void CMyTree::OnRButtonDown(UINT nFlags, CPoint point) 
{
// TODO: Add your message handler code here and/or call default
    CMenu menu;
    menu.CreatePopupMenu();
    menu.AppendMenu(MF_STRING,ID_BOOK,"ddd");
    GetCursorPos(&point);
    menu.TrackPopupMenu(TPM_LEFTBUTTON,point.x,point.y,this);
    menu.DestroyMenu();
    CTreeCtrl::OnRButtonDown(nFlags, point);

加载后的对话框,鼠标消息好象还在CMyTree上?
如果对话框的加载不放在弹出菜单中而是OnRButtonDown中也能收到鼠标的消息,不知是什么原因?

解决方案 »

  1.   

    我在从CTreeCtrl派生的CMyTree中想单击鼠标右键弹出一个菜单,然后再通过点击菜单的某项
    来激活一个对话框,但是从弹出菜单再激活对话框时,对话框能激活但是不响应鼠标消息(消息在树型控件中却能响应,如果刷新一下屏幕对话框又能收到鼠标消息)?
    上边的OnRButtonDown是我的弹出菜单的代码,如果在上边的代码中屏蔽掉弹出菜单直接加载对话框,对话框能正常接受消息,不知是何原因。
    代码好象没有问题,不知你的看法是什么!