我在CView类中定义了CEdit m_input;该编辑框用来输入消息用的。
然后调用:m_input.Create();创建后,
我想问的是,添加什么消息来响应我在这个编辑框输入的消息?
我在CView中找不到EN_UPDATE这个消息啊,
所有消息都是WM_XXX。

解决方案 »

  1.   

    你选中CEdit,然后右键选择ClassWizard,里面应该有。
      

  2.   

    顺便问一句,你用对话框了吗?还是直接在View中添加的啊?
      

  3.   

    你这种动态创建的控件无法通过消息映射的方法做吧?你需要处理你视图的WM_COMMAND消息,在哪里判断是不是你的EN_CHANGE消息,如果是,就处理,否则就调用基类的OnCommand即可
      

  4.   


    没有用对话框
    直接在view中添加的
      

  5.   


    这个WM_COMMAND是哪个控件的呢,我就是要在视图里输入消息,
    那视图的ID是什么呢
      

  6.   


    我看到CView里有一个 WM_CHAR 能否响应这个
    还有一个WM_INPUT,意思上感觉接近这个。
    这两个消息是什么作用
      

  7.   

    都跟你说了,你该处理WM_COMMAND,难道MSDN里说的不是很清楚么?EN_CHANGE是通过WM_COMMAND发出的
      

  8.   


    呃,我知道你的意思,但是我不明白应该在哪里响应WM_COMMAND.
    如果是CView,我在CView里找不到WM_COMMAND
    呵呵,
      

  9.   

    映射消息时看看窗口上是不是有什么消息filter
      

  10.   

    直接找OnCommand不是WM_COMMAND:
    BOOL CFilenewView::OnCommand(WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if((LOWORD(wParam)==1000) && (HIWORD(wParam)==EN_UPDATE))//edit
    {//1000=edit ID
    afxDump << "haha\n";
    }
    return CView::OnCommand(wParam, lParam);
    }