A
Artur1987
У меня такая проблема: нужно ,чтобы рисовать можно было только на одной половине экрана. Причём в режиме MM_HIMETRIC, но почему-то вообще нигде не рисует.m_workrect - это как раз тот прямоугольник,где можно рисовать,он инициализирован в конструкторе как m_workrect(0,0,20000,-18000).вот код:
В режиме MM_TEXT всё нормально рисует,а в MM_HIMETRIC не хочет. И ещё такой вопрос : как можно проще ограничить область рисования?
Код:
void CProbniyView::[b]OnPrepareDC[/b](CDC* pDC, CPrintInfo* pInfo)
{
pDC->SetMapMode(MM_HIMETRIC);
CView::OnPrepareDC(pDC, pInfo);
}
void CProbniyView::[b]OnDraw(CDC* pDC)[/b]
{
OnPrepareDC(pDC);
pDC->Rectangle(m_workrect);
}
void CProbniyView::[b]OnMouseMove[/b](UINT nFlags, CPoint point)
{
CClientDC dc(this);
OnPrepareDC(&dc);
m_workrect.NormalizeRect();
dc.LPtoDP(m_workrect);
if(nFlags && m_workrect.PtInRect(point)) {
dc.Rectangle(0,0,point.x,point.y);
}
CView::OnMouseMove(nFlags, point);
}
В режиме MM_TEXT всё нормально рисует,а в MM_HIMETRIC не хочет. И ещё такой вопрос : как можно проще ограничить область рисования?