Пример #1
0
/**
 * @param point - point coordinates.
 * @return true if point appears in boundaries of Splitter text.
 */
BOOL CSplitter::HitTest(const POINT& point) const
{
	_ASSERTE(m_hwnd != NULL);
	RECT rect;
	GetSplitterBarRect(rect);
	return PtInRect(&rect, point);
}
Пример #2
0
void CWidgetSplitter::DrawSplitterBar(CDCHandle dc)
{
TRY_CATCH

	RECT rect;
	if ( GetSplitterBarRect(&rect) )
	{
		RECT rc;
		GetClientRect(&rc);
		HRGN rgnWnd = CreateRectRgnIndirect(&rc);
		HRGN rgnBar = CreateRectRgnIndirect(&rect);
		CombineRgn(rgnWnd,rgnWnd,rgnBar,RGN_XOR);

		rc = rect;
		rc.left = rect.left + (rect.right - rect.left)/2;
		rc.right = rc.left + 1;

		HRGN rgnLine = CreateRectRgnIndirect(&rc);
		CombineRgn(rgnWnd,rgnWnd,rgnLine,RGN_OR);

		SetWindowRgn(rgnWnd,TRUE);

		DeleteObject(rgnBar);
		DeleteObject(rgnLine);
		DeleteObject(rgnWnd);

		dc.MoveTo(rc.left,rc.top);
		dc.LineTo(rc.left,rc.bottom);
	}

CATCH_THROW()
}
Пример #3
0
/**
 * @param hdc - drawing context.
 */
void CSplitter::DrawSplitterBar(HDC hdc) const
{
	_ASSERTE(m_hwnd != NULL);
	RECT rect;
	GetSplitterBarRect(rect);
	FillRect(hdc, &rect, g_pResManager->m_hbrButtonFaceBrush);
}