自己写了一个组件,现在需要封装为 activx控件, 没有做过相关开发, 现在遇到刷新频繁问题,还有就是 onkeydown消息不能截获到。qq   5812 5895

解决方案 »

  1.   

    onkeydown是个比较麻烦而老的问题,需要用钩子来解决,网上这类帮助很多的。
    此外,一般用vc开发的activex在vb下键盘是可以得到的,在mfc下却不可以。但是我遇到了
    个别机器mfc截获,我却没有找到原因。
      

  2.   

    onkeydown一般是不需要特殊处理的,加速键处理起来比较麻烦。onkeydown在OnLUbttonDown的时候设置Focus好像就可以咯。
      

  3.   

    onkeydown不是自动截取的?截取不到难道是消息接收对象不是控件
      

  4.   

    m_hHook=SetWindowsHookEx( WH_GETMESSAGE, GetMsgProc,
    NULL, GetCurrentThreadId() );LRESULT FAR PASCAL GetMsgProc(int nCode, WPARAM wParam, LPARAM lParam)
    {
    LPMSG lpMsg = (LPMSG) lParam;
    if ( nCode >= 0 && PM_REMOVE == wParam )
    {  if ( (lpMsg->message >= WM_KEYFIRST && lpMsg->message <= WM_KEYLAST) )
    { if ( IsDialogMessage(g_hWnd, lpMsg) )
    {
    lpMsg->message = WM_NULL;
    lpMsg->lParam  = 0;
    lpMsg->wParam  = 0;
    }
    } }
    return CallNextHookEx(m_hHook, nCode, wParam, lParam);
    }