我在程序里动态生成一个控件,比如:
CTreeCtrl* pTree = new CTreeCtrl();
pTree->Create(...);
请问如何截获这个树型控件的OnSelChange消息?网上遍寻资料未果,能找到的都是对普通命令消息WM_COMMAND的响应,而对于控件通知消息,该怎么办?各位大侠请指点

解决方案 »

  1.   

    用CWnd::PreTranslateMessage来捕获消息。
      

  2.   

    既然是Notify消息,当然是重载CWnd::OnNotify了,下面是例子BOOL CTdyndlgDlg::OnNotify(WPARAM wParam, LPARAM lParam, LRESULT* pResult) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if(wParam == 10001){//10001为你的控件ID
    LPNMTREEVIEW pv = (LPNMTREEVIEW)lParam;
    if(pv->hdr.code == TVN_SELCHANGED){
    TRACE0("yes it is\n");
    return TRUE;
    }
    }
    return CDialog::OnNotify(wParam, lParam, pResult);
    }