Ветеран
Сообщения: 1180
Благодарности: 279
|
Профиль
|
Отправить PM
| Цитировать
Ещё раз: класс B в A неизвестен. Например:
class Control {...}
...
class TrackBar : public Control {...}
Contol-у абсолютно пофигу на TrackBar.
Но хотелось бы поместить в Control обработчик события, который может не перекрывать TrackBar. Событие может и не обрабатываться, а вставлять пустую виртуальную функцию не хочется. Хочу сделать так:
class elink : public pair<UMSG, Handler> {
bool operator<(...)
}
vector<elink> events;
... {
...
i = lower_bound(events.begin(), events.end(), message);
if (i!=events.end() && i->first==message) {
(this->*Handler)(params)
}
}
Это вроде как самая быстрая реакция на виндозные послания.
|
Отправлено: 11:57, 05-04-2004
| #3
|