//*******************************************************************************
HRESULT CBCGPRibbonTabsGroup::accHitTest(long xLeft, long yTop, VARIANT *pvarChild)
{
	if (!pvarChild)
    {
        return E_INVALIDARG;
    }

	if (m_pRibbonBar->GetSafeHwnd() == NULL)
	{
		return S_FALSE;
	}

	pvarChild->vt = VT_I4;
	pvarChild->lVal = CHILDID_SELF;

	CPoint pt(xLeft, yTop);
	m_pRibbonBar->ScreenToClient(&pt);

	for (int i = 0; i < m_arButtons.GetSize (); i++)
	{
		CBCGPBaseRibbonElement* pElem = m_arButtons[i];
		if (pElem != NULL)
		{
			ASSERT_VALID(pElem);

			if (pElem->GetRect().PtInRect(pt))
			{
				pvarChild->lVal = i + 1;
				pElem->SetACCData(m_pRibbonBar, m_AccData);
				break;
			}
		}
	}

	return S_OK;
}