我想请问下这个edit的em_setsel用什么东西可以拦截?

解决方案 »

  1.   

    1.派生一个 CMyEdit
    2.子类化,SetWindowLong
      

  2.   

    恩,试过了,只能拦截到WM_之类的东西,EM——之类的拦截不到。
      

  3.   

    先要看 EM——之类 属于那个 WM_
    WM_COMMAND
    WM_NOTIFY这个 EM 应该在 wparam 中 。
      

  4.   

    这个就更加搞不清楚了,用sendmessage的时候,这个EM_SETSEL,是第二个参数,wparam和lparam是起始和结束。
      

  5.   

    是这样:
    LRESULT CMyEdit::DefWindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if(message== EM_SETSEL)
    afxDump << message << " EM_SETSEL\n";
    return CEdit::DefWindowProc(message, wParam, lParam);
    }
    //
    初始化中:
    m_MyEdit.SetSel(0,-1);
      

  6.   

    schlafenhamster所说的是自己构造一个类嘛?然后要create在Dlg上面画出来
      

  7.   

    CMyEdit 就是 从 CEdit 派生一个类 (insert class)
    再重载
    DefWindowProc
      

  8.   

    要是 对话框 拖的 edit 把他类名 改为 CMyEdit。