예제 #1
0
void CColorCell::OnDrawSelect(CDCHandle dc)
{
	CBrushHandle brushWhite = (HBRUSH) ::GetStockObject (WHITE_BRUSH);
	CBrushHandle brushBlank = (HBRUSH) ::GetStockObject (BLACK_BRUSH);
	
	if (m_bAtFirstType)
	{
		if (m_crCell == RGB(255,255,255))
		{
			CRgn rgnOne;
			rgnOne.CreatePolygonRgn(m_Points, 6, ALTERNATE);
			dc.FrameRgn(rgnOne, brushWhite, 3, 3);

			dc.FrameRgn(rgnOne, brushBlank, 2, 2);
		}
		else
		{
			CRgn rgnOne;
			rgnOne.CreatePolygonRgn(m_Points, 6, ALTERNATE);
			dc.FrameRgn(rgnOne, brushWhite, 3, 3);

			dc.FrameRgn(rgnOne, brushBlank, 1, 1);
		}
	}
	else
	{
		CRgn rgnOne, rgnTwo, rgnThree;
		
		CRect rcPos;
		rcPos = m_rcPosition;
		rcPos.DeflateRect(1, 1, 1, 1);
		
		rgnTwo.CreateRectRgnIndirect(&rcPos);
		dc.FrameRgn(rgnTwo, brushWhite, 2, 2);
		rcPos.InflateRect(2, 2, 2, 2);
		
		rgnThree.CreateRectRgnIndirect(&rcPos);
		dc.FrameRgn(rgnThree, brushBlank, 1, 1);
	}
}