C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Вопрос по поводу BEGIN_MESSAGE_MAP
FANTOM181
Отправлено: 07.03.2006, 12:25


Ученик-кочегар

Группа: Участник
Сообщений: 20



У меня в проекте есть две формы Form1 и Form2. Соответсвенно в Unit1.h описан класс формы (Form1), а в Unit2.h — Form2. Я в класс формы1 поместил BEGIN_MESSAGE_MAP, чтобы отловить некое событие (какое событие неважно, т.к. оно не влияет на суть вопроса). Выглядит это следующим образом:
CODE

class TForm1 : public TForm
{
__published:
.
.
.
.
private:
.
.
.
public:
.
.
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_ACTIVATEAPP, TMessage, RedrawTimer_Start_Stop)
END_MESSAGE_MAP(TForm)
};

Но проблемма в том что событиие, которое описано в BEGIN_MESSAGE_MAP возникает как для формы1 так и для формы2. А мне нужно чтобы событие отслеживалось только для формы1. Как это сделать!!
Я пробовал написать так вместо END_MESSAGE_MAP(TForm) написать END_MESSAGE_MAP(TForm1), но при компиляции мне выдается ошибка (следовательно делать нужно как то по другому). Вопрос как???


И еще один вопрос какое событие возникает при развертывании формы?

Отредактировано FANTOM181 — 07/03/2006, 12:33
olegenty
Отправлено: 07.03.2006, 13:02


Ветеран

Группа: Модератор
Сообщений: 2412



событие не возникает в двух формах, оно просто возникает. и помещается в очередь. далее, каждая форма проверяет, есть ли ей чем его обработать, и если есть — обрабатывает (передавая, либо не передавая сообщение дальше по цепочке).
poland
Отправлено: 07.03.2006, 13:59


Ученик-кочегар

Группа: Участник
Сообщений: 16



Посмотри внимательно чего ты накатал в Unit2.h. Д.б.
CODE

class TForm2 : public TForm
{
// и никакого BEGIN_MESSAGE_MAP
};
Guest
Отправлено: 07.03.2006, 15:16


Не зарегистрирован







Хорошо по поводу BEGIN_MESSAGE_MAP понятно. А какое событие возникает при свертывании/развертываниии формы?
olegenty
Отправлено: 07.03.2006, 15:26


Ветеран

Группа: Модератор
Сообщений: 2412



WM_SYSCOMMAND
FANTOM181
Отправлено: 07.03.2006, 18:21


Ученик-кочегар

Группа: Участник
Сообщений: 20



Спасибо за помощь! smile.gif

Вернуться в Вопросы программирования в C++Builder