• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Проблема с ограничением области рисования

  • Автор темы Artur1987
  • Дата начала
A

Artur1987

У меня такая проблема: нужно ,чтобы рисовать можно было только на одной половине экрана. Причём в режиме MM_HIMETRIC, но почему-то вообще нигде не рисует.m_workrect - это как раз тот прямоугольник,где можно рисовать,он инициализирован в конструкторе как m_workrect(0,0,20000,-18000).вот код:

Код:
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 не хочет. И ещё такой вопрос : как можно проще ограничить область рисования?
 
E

European

<!--QuoteBegin-Artur1987+27:09:2007, 10:45 -->
<span class="vbquote">(Artur1987 @ 27:09:2007, 10:45 )</span><!--QuoteEBegin-->И ещё такой вопрос : как можно проще ограничить область рисования?
[snapback]79742" rel="nofollow" target="_blank[/snapback]​
[/quote]
Открываешь справку по CDC и читаешь раздел Clipping Functions.
И еще, пользуйся тегами кода
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!