//***************************************************************************************** void CBCGPMenuButton::OnLButtonDown(UINT nFlags, CPoint point) { if (m_bMenuIsActive) { Default (); return; } m_bClickOnMenu = TRUE; if (m_bDefaultClick) { CRect rectClient; GetClientRect (rectClient); CRect rectArrow = rectClient; rectArrow.left = rectArrow.right - CBCGPMenuImages::Size ().cx - nImageHorzMargin; if (!rectArrow.PtInRect (point)) { m_bClickOnMenu = FALSE; m_nMenuResult = 0; CBCGPButton::OnLButtonDown (nFlags, point); return; } } SetFocus (); OnShowMenu (); }
//***************************************************************************************** void CBCGPMenuButton::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { if (nChar == VK_SPACE || nChar == VK_DOWN) { m_bClickOnMenu = TRUE; OnShowMenu (); return; } CButton::OnKeyDown(nChar, nRepCnt, nFlags); }
//*************************************************************************************** BOOL CBCGPMenuButton::PreTranslateMessage(MSG* pMsg) { if (pMsg->message == WM_KEYDOWN && pMsg->wParam == VK_RETURN && CBCGPPopupMenu::GetActiveMenu () == NULL) { m_bClickOnMenu = TRUE; OnShowMenu (); return TRUE; } return CBCGPButton::PreTranslateMessage(pMsg); }
BOOL CMenuButton::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_KEYDOWN) { switch(pMsg->wParam) { case VK_F4: OnShowMenu(); return TRUE; } } return CMFCMenuButton::PreTranslateMessage(pMsg); }
BOOL CMenuButton::PreTranslateMessage(MSG* pMsg) { if(pMsg->message == WM_KEYDOWN) { switch(pMsg->wParam) { case VK_RETURN: case VK_SPACE: if (m_bMenuIsActive && !m_bRealMenuIsActive) { GetParent()->SendMessage(WM_COMMAND, MAKEWPARAM(GetDlgCtrlID(), BN_CLICKED), (LPARAM)m_hWnd); return TRUE; } case VK_F4: OnShowMenu(); return TRUE; } } return CMFCMenuButton::PreTranslateMessage(pMsg); }