//=============================================================================	
void CXButtonXP::OnLButtonUp(UINT nFlags, CPoint point)
//=============================================================================	
{
	if (HitMenuBtn(point))
	{
		CRect rect;
		GetWindowRect(rect);

		if (m_pParentWnd)
			m_pDropDownMenu->TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON, rect.left, rect.bottom, m_pParentWnd);
	}
	else
	{
		CButton::OnLButtonUp(nFlags, point);
	}
}
Exemplo n.º 2
0
////////////////////////////////////////////////////////////////////////////////
//
// FUNCTION:	  OnLButtonDown
//
// DESCRIPTION:	handles button pressed state, including drop down menu
//
//
// NOTES:
//
// MAINTENANCE:
// Name:		  Date:	  Version:	Notes:
// NT ALMOND	210100	1.0			  Origin
// NT ALMOND	020703	1.1			  Fix unwanted message
////////////////////////////////////////////////////////////////////////////////
void CCoolBtn::OnLButtonDown(UINT nFlags, CPoint point)
{

    if (m_bMenuPushed)
    {
        m_bMenuPushed = FALSE;
        Invalidate();
        return;
    }

    if (HitMenuBtn(point))
    {
        m_bMenuPushed = TRUE;
        SetFocus();
        Invalidate();

        CRect rc;
        GetWindowRect(rc);

        int x = rc.left;
        int y = rc.bottom;

        m_menu.TrackPopupMenu(TPM_LEFTALIGN|TPM_LEFTBUTTON,x,y,m_pParentWnd);

        m_bMenuPushed = FALSE;
    }
    else
    {
        m_bPushed = TRUE;
    }

    Invalidate();

    if (m_bPushed)
        CButton::OnLButtonDown(nFlags, point);
}