好象只要在你的子类里响应EN_CHANGE就可以了。

解决方案 »

  1.   

    在子类里响 NE_CHANGE 我也试过了,不过还没有执行子类的 EN_CHANGE 响应函数之前就执行了 CEditView::OnEditChange,所以,这个办法也行不通
      

  2.   

    重定义OnChildNotify。BOOL CMyEditView::OnChildNotify( UINT message, 
       WPARAM wParam,
       LPARAM lParam,
       LRESULT* pLResult ){
    ....
    if (message == WM_COMMAND && wNotification == EN_CHANGE)
       {
     //屏蔽掉     CEditView::OnEditChange();
          return TRUE;
       }
    else
    return CEditView::OnChildNotify(message, wParam, lParam, pLResult);    
    }
      

  3.   

    把OnEditChange()里的语句都注释掉,行不行?
      

  4.   

    OnEditChange()什么也不写,包括向导生成的代码都注释掉
      

  5.   

    NSDN July 2000 版,主题:
    /Knowledge Base/Visual C++/FIX: CEditView in Splitter Window Doesn't Update Document
    这里有关于该问题产生及解决的详细说明,还有代码示例,可惜代码中有错。正确代码如下:BOOL CMyEditView::OnChildNotify(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pLResult) 
    {
    // TODO: Add your specialized code here and/or call the base classif (message == WM_COMMAND && wNotification == EN_CHANGE)
       WORD wNotification;
    #ifdef _WIN32
       wNotification = HIWORD(wParam);
    #else
       wNotification = HIWORD(lParam);
    #endif
    TRACE("%d, %d\n", wNotification, EN_CHANGE);
    // return TRUE;
       if (message == WM_COMMAND && wNotification == EN_CHANGE)
       {
          //CEditView::OnEditChange();
          return TRUE;
       }
       else {    return CEditView::OnChildNotify(message, wParam, lParam, pLResult);
    }
    }