• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

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

  • Автор темы 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.
И еще, пользуйся тегами кода
 
Мы в соцсетях:

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