Не работают сообщения класса

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

Есть класс, производный от Cstatic, в нем не работают почти все сообщения (используется MFC)

файл .h

Код: Выделить всё

class GraphWindow: public CStatic
{
	DECLARE_DYNAMIC(GraphWindow)
...
protected:
	DECLARE_MESSAGE_MAP()
}
файл .cpp

Код: Выделить всё

IMPLEMENT_DYNAMIC(GraphWindow, CStatic)

BEGIN_MESSAGE_MAP(GraphWindow, CStatic)
	ON_WM_PAINT()
	ON_WM_ERASEBKGND()
	ON_WM_SETFOCUS()
	ON_WM_ACTIVATE()
	ON_WM_MOUSEMOVE()
	ON_WM_SETCURSOR()
END_MESSAGE_MAP()

Объявлена переменная этого класса. В чем причина ошибки?
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

Еще добавлю дополнительную информацию:
переменная класса GraphWindow объявлена в другом классе, являющимся окном вкладки (не типа CPropertyPage) - в элементе управления (GraphWindow ) большинство сообщений не работает.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

А пробовал смотреть через Spy++ генерирует ли система вообще нужные сообщения? Если исходить из того, что твой класс унаследован от CStatic, то меня настораживает попытка обработать некоторые сообщения, например WM_SETFOCUS.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
MDCI
Сообщения: 47
Зарегистрирован: 28 фев 2006, 15:25
Откуда: Симферополь
Контактная информация:

Romeo писал(а):А пробовал смотреть через Spy++ генерирует ли система вообще нужные сообщения? Если исходить из того, что твой класс унаследован от CStatic, то меня настораживает попытка обработать некоторые сообщения, например WM_SETFOCUS.
Не знаю, Spy++ никогда не пользовался, смотрел - не разорбрался, что к чему. Сообщения то показывает, но мне нужно чтобы сообщения обрабатывались в классе GraphWindow. Может я что-то ни то делаю?
Ответить