LRESULT CDuiFrame::DoFrameEvent(UINT uMsg,WPARAM wParam,LPARAM lParam) { LRESULT lRet=0; m_pHost->AddRef(); m_pHost->SetMsgHandled(TRUE); switch(uMsg) { case WM_MOUSEMOVE: OnFrameMouseMove((UINT)wParam,CPoint(GET_X_LPARAM(lParam),GET_Y_LPARAM(lParam))); break; case WM_MOUSEHOVER: OnFrameMouseEvent(uMsg,wParam,lParam); break; case WM_MOUSELEAVE: OnFrameMouseLeave(); break; case WM_SETCURSOR: lRet=OnFrameSetCursor(CPoint(GET_X_LPARAM(lParam),GET_Y_LPARAM(lParam))); if(!lRet) { SetCursor(LoadCursor(NULL,IDC_ARROW)); } break; case WM_KEYDOWN: OnFrameKeyDown((UINT)wParam,(UINT)lParam & 0xFFFF, (UINT)((lParam & 0xFFFF0000) >> 16)); break; case WM_SETFOCUS: OnActivate(WA_ACTIVE); break; case WM_KILLFOCUS: OnActivate(WA_INACTIVE); break; case WM_ACTIVATE: OnActivate(LOWORD(wParam)); break; case WM_IME_STARTCOMPOSITION: case WM_IME_ENDCOMPOSITION: case WM_IME_COMPOSITION: case WM_IME_CHAR: OnFrameKeyEvent(uMsg,wParam,lParam); break; default: if(uMsg>=WM_KEYFIRST && uMsg<=WM_KEYLAST) OnFrameKeyEvent(uMsg,wParam,lParam); else if(uMsg>=WM_MOUSEFIRST && uMsg <= WM_MOUSELAST) OnFrameMouseEvent(uMsg,wParam,lParam); else m_pHost->SetMsgHandled(FALSE); break; } m_pHost->Release(); return lRet; }
LRESULT SwndContainerImpl::DoFrameEvent(UINT uMsg,WPARAM wParam,LPARAM lParam) { LRESULT lRet=0; AddRef(); SetMsgHandled(TRUE); switch(uMsg) { case WM_MOUSEMOVE: OnFrameMouseMove((UINT)wParam,CPoint(GET_X_LPARAM(lParam),GET_Y_LPARAM(lParam))); break; case WM_MOUSEHOVER: OnFrameMouseEvent(uMsg,wParam,lParam); break; case WM_MOUSELEAVE: OnFrameMouseLeave(); break; case WM_SETCURSOR: lRet=OnFrameSetCursor(CPoint(GET_X_LPARAM(lParam),GET_Y_LPARAM(lParam))); if(!lRet) { HCURSOR hCursor=GETRESPROVIDER->LoadCursor(IDC_ARROW); SetCursor(hCursor); } break; case WM_KEYDOWN: OnFrameKeyDown((UINT)wParam,(UINT)lParam & 0xFFFF, (UINT)((lParam & 0xFFFF0000) >> 16)); break; case WM_SETFOCUS: OnActivate(WA_ACTIVE); break; case WM_KILLFOCUS: OnActivate(WA_INACTIVE); break; case WM_ACTIVATE: OnActivate(LOWORD(wParam)); break; case WM_ACTIVATEAPP: OnActivateApp(wParam,lParam); break; case WM_IME_STARTCOMPOSITION: case WM_IME_ENDCOMPOSITION: case WM_IME_COMPOSITION: case WM_IME_CHAR: OnFrameKeyEvent(uMsg,wParam,lParam); break; case WM_MOUSEWHEEL: case 0x20E: //WM_MOUSEHWHEEL OnFrameMouseWheel(uMsg,wParam,lParam); break; default: if(uMsg>=WM_KEYFIRST && uMsg<=WM_KEYLAST) OnFrameKeyEvent(uMsg,wParam,lParam); else if(uMsg>=WM_MOUSEFIRST && uMsg <= WM_MOUSELAST) OnFrameMouseEvent(uMsg,wParam,lParam); else SetMsgHandled(FALSE); break; } Release(); return lRet; }