Проблема с созданием класса

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

  1. Artur1987

    Artur1987 Active Member

    Регистрация:
    31 мар 2007
    Сообщения:
    31
    Симпатии:
    0
    У меня такая проблема: пытаюсь создать класс определения точки на экране и использовать его в программе. Класс элементарный, вот его описание:
    // LOL.h
    class CLOL
    {
    protected:
    int x;
    int y;
    public:
    CDC* pDC;
    CLOL (int,int); // конструктор
    void show();
    };

    //LOL.cpp
    #include "stdafx.h"
    #include "LOL.h"

    CLOL::CLOL(int x1=0,int y1=0)
    { x=x1; y=y1; }

    void CLOL::show(void)
    {
    pDC->GetPixel(x,y);
    }

    Затем я создаю кнопку в меню ShowPixel в классе СView

    void CLoLClassView::OnShowPixel()
    {
    CLOL B(20,20);
    B.show();
    }

    После компиляции - 0 warnings 0 errors . Запускаю , нажимаю на кнопку --> "Обнаружена ошибка,приложение будет закрыто".

    Что я делаю не так, кто-нибудь может подсказать?

    В отладке написано, что не определены m_hDC и m_hAttribDC класса СDC. Что это за операторы?
     
  2. grigsoft

    grigsoft Well-Known Member

    Регистрация:
    15 ноя 2005
    Сообщения:
    735
    Симпатии:
    0
    А pDC кто инициализировать будет?
     
  3. Artur1987

    Artur1987 Active Member

    Регистрация:
    31 мар 2007
    Сообщения:
    31
    Симпатии:
    0
    То есть не хватает строчки pDC-->GetDC(); (или что-то типа того) ?
     
  4. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    До вызова B.show() пишем:
    Код (Text):
    CPaintDC DC( this );
    B.pDC = &DC;
     
  5. Artur1987

    Artur1987 Active Member

    Регистрация:
    31 мар 2007
    Сообщения:
    31
    Симпатии:
    0
    Всё.Получилось. Спасибо за подсказки! Тему можно закрыть..
     
Загрузка...

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