mfc 动态为控件添加事件2

重载窗口过程
  为动态控件绑定事件


一、重载窗口过程处理函数
 CWnd::WindowProc  
virtual LRESULT WindowProc( UINT message, WPARAM wParam, LPARAM lParam );
LRESULT CALLBACK WindowProc(
  HWND hwnd,     // handle to window

  UINT uMsg,     // message identifier

  WPARAM wParam, // first message parameter

 LPARAM lParam   // second message parameter
);

二、绑定事件
LRESULT CDialog_Dynamics_Create::WindowProc(UINT message , WPARAM wParam , LPARAM lParam)
{
    if (message==WM_COMMAND)
    {
        switch(LOWORD(wParam)) //0xFFFF FFFF
        {
        case 10081:
            switch(HIWORD(wParam))
            {
            case EN_CHANGE:
                TRACE(" myedt 控件产生EN_CHANGE消息\n");
                break;
            case EN_KILLFOCUS:
                TRACE(" myedt 控件产生EN_KILLFOCUS 消息\n");
                break;
            case EN_SETFOCUS:
                TRACE(" myedt 控件产生EN_SETFOCUS消息\n");
                break;
            }
            break;
        case 10082:
            if (HIWORD(wParam)==EN_CHANGE)
            {
                TRACE(" myedt2 控件产生EN_CHANGE消息\n");
                // 添加相应事件处理函数
            }
            break;
        }
    }
    return CDialog::WindowProc(message,wParam,lParam);
}

 

posted @ 2016-12-28 11:23  whzym111  阅读(547)  评论(0编辑  收藏  举报