VOID DrawOutline(PT *ppt, INT ccrd, DX dx, DY dy) { Y y; PT pt; INT rop2; if(!FGetHdc()) return; pt = *ppt; rop2 = SetROP2(hdcCur, R2_NOT); MMoveTo(hdcCur, pt.x, pt.y); LineTo(hdcCur, pt.x+dxCrd, pt.y); LineTo(hdcCur, pt.x+dxCrd, y = pt.y+dyCrd+(ccrd-1) * dy); LineTo(hdcCur, pt.x, y); LineTo(hdcCur, pt.x, pt.y); y = pt.y; while(--ccrd) { y += dy; MMoveTo(hdcCur, pt.x, y); LineTo(hdcCur, pt.x+dxCrd, y); } SetROP2(hdcCur, rop2); ReleaseHdc(); }
VOID DrawSunkenRect( PRECT prc, HDC hdc) { HPEN hpenOld; hpenOld = SelectObject(hdc, hpenDarkGray); MMoveTo(hdc, prc->left, prc->top); LineTo(hdc, prc->right - 1, prc->top); MMoveTo(hdc, prc->left, prc->top); LineTo(hdc, prc->left, prc->bottom - 1); SelectObject(hdc, GetStockObject(WHITE_PEN)); MMoveTo(hdc, prc->left + 1, prc->bottom - 1); LineTo(hdc, prc->right, prc->bottom - 1); MMoveTo(hdc, prc->right - 1, prc->top + 1); LineTo(hdc, prc->right - 1, prc->bottom - 1); SelectObject(hdc, hpenOld); }