oc* pDoc = GetDocument 0; ASSE
Автор admin Среда, 15 апреля 2009 11:32
oc* pDoc = GetDocument 0; ASSERT_VALID(pDoc); // TODO: add draw code for native data here CSize ScrollSize = GetTotalSize 0; pDC->MoveTo(Scrol!Size.cx, 0); pDC->LineTo(ScrollSize.cx, Scrol1 Size.cy); pDC->LineTo(0. Scrol1 Size.cy); //////////////////////// CRect ClipRect; // Область обновления CRect DimRect; // Прямоугольник, ограничивающий рисунок CRect IntRect; // Область пересечения ограничивающего // и недействительного прямоугольников Подведение итогов 153 CLine* PLine; // Указатель на добавленную линию pDC->GetClipBox (&С1ipRect); int Index = pDoc->GetNumLines 0; while (Index–) { PLine * pDoc->GetLine(Index); DimRect = PLine->GetDimRect(); if (IntRect.IntersectRect(DimRect, ClipRect)) PLine->Draw(pDC); // pDoc->GetLine(Index)->Draw(pDC); } } Теперь функция CMiniPaintView: :0nDraw() вызывает метод CDC: :GetClipBox() для получения размеров недействительной области и функцию CLine: :GetDimRect() для получения координат ограничивающего прямоугольника. Затем вызывается функция CRect:: IntersectRect О, которая определяет, попадает ли ограничивающий прямоугольник в область, признанную недействите
Комментарии закрыты.
Последние комментарии