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

Тема в разделе "MS Visual C++", создана пользователем Artur1987, 27 сен 2007.

  1. Artur1987

    Artur1987 Active Member

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

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

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    <!--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.
    И еще, пользуйся тегами кода
     
Загрузка...
Похожие Темы - Проблема ограничением области
  1. c0de3r
    Ответов:
    5
    Просмотров:
    119
  2. DobermannTT
    Ответов:
    10
    Просмотров:
    133
  3. SoulPaladin
    Ответов:
    3
    Просмотров:
    122
  4. Artael
    Ответов:
    1
    Просмотров:
    109
  5. ENSLER
    Ответов:
    0
    Просмотров:
    102

Поделиться этой страницей