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); } }