엑티브엑스에서 키, 탭키등을 먹게 하기
오후 3:51 2001-08-07 조경민 bro@shinbiro.com
==========================================================================

////////////////////////////////////////////////////////////////////////
// ActiveX Control내 키 이벤트 문제
// 1. OnCreate에서
//        OnActivateInPlace (TRUE, NULL); // == UI-Activate the control        
// 2. PreTranslateMessage 추가
// 3.  OnMouseActivate 추가
BOOL CActiveApprovalCtrl::PreTranslateMessage(MSG* pMsg)
{
        // TODO: Add your specialized code here and/or call the base class
        switch (pMsg->message)
        {
                case WM_KEYDOWN:
                case WM_KEYUP:
                switch (pMsg->wParam)
                {
                        case VK_UP:
                        case VK_DOWN:
                        case VK_LEFT:
                        case VK_RIGHT:
                        case VK_HOME:
                        case VK_END:
                        case VK_TAB:                        // 탭키도 쓸수 있다.

                        ::SendMessage( pMsg->hwnd , pMsg->message, pMsg->wParam, pMsg->lParam);
                        //SendMessage (pMsg->message, pMsg->wParam, pMsg->lParam);
                        // Windowless controls won't be able to call SendMessage.
                        // Instead, just respond to the message here.
                        return TRUE;
                }
                break;
        }
        return COleControl::PreTranslateMessage(pMsg);
}

int CActiveApprovalCtrl::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
{
        // TODO: Add your message handler code here and/or call default
        if (!m_bUIActive)
                OnActivateInPlace (TRUE, NULL); // == UI-Activate the control
        return COleControl::OnMouseActivate(pDesktopWnd, nHitTest, message);
}

int CActiveApprovalCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
        if (COleControl::OnCreate(lpCreateStruct) == -1)
                return -1;
        OnActivateInPlace (TRUE, NULL); // == UI-Activate the control        

             :
        return 0;
}
//////////////////////////////////////////////////////////////////////////

+ Recent posts