Перейти к содержимому

Фото
- - - - -

wxWidgets 2


  • Вы не можете создать новую тему
  • Please log in to reply
4 ответов в этой теме

#1 zarez

zarez
  • Новобранец
  • 4 сообщений

Отправлено 02 августа 2005 - 08:10

Еще раз всем КУ!

по поводу events в wxwidgets: как перехватить даже не свой созданный евент,
а стандартный например wxCommandEvent из потомком из предка.
те например создается фрэйм MyFrame а из него (по нажатию на кнопочку) создается NewFrame... В NewFrame делаем wxCommandEvent event(GetId()); // ну или wxChangedEvent event(GetId());
GetEventHandler()->ProcessEvent( event );
вот и на сколько я понимаю в MyFrame должен вызываться метод
void MyFrame::GetEnvent(wxCommandEvent &ev). но этого как раз и не происходит. причем если GetEnvent вызывать в томже фрэйме, где деалется
GetEventHandler()->ProcessEvent( event ); то все работает.

есть ли каккиенибудь ососбенности при перехвате евентов от потомка к родителю?

ps бьюсь уже неделю над этой траблой
  • 0

#2 Stajor

Stajor
  • Новобранец
  • 4 сообщений

Отправлено 04 августа 2005 - 13:21

Кстати, меня этот вопрос тоже интересует, так же бьюсь над этой проблемой и безрезультатно.
Может у кого всетки есть исходники примеров wxWidgets?
  • 0

#3 zarez

zarez
  • Новобранец
  • 4 сообщений

Отправлено 04 августа 2005 - 15:58

Кстати, меня этот вопрос тоже интересует, так же бьюсь над этой проблемой и безрезультатно.
Может у кого всетки есть исходники примеров wxWidgets?

Просмотреть сообщение

дык исходники то примеров в стандартной поставке есть... только толку от них там нету(ну или я не нашел) перехватов эвентов из другого фрейма...:(
  • 0

#4 Stajor

Stajor
  • Новобранец
  • 4 сообщений

Отправлено 05 августа 2005 - 08:07

Аха, еслиб был толк от тех примеров, я б тоже не просил исходники... :angry:
  • 0

#5 zarez

zarez
  • Новобранец
  • 4 сообщений

Отправлено 09 августа 2005 - 09:59

вот нашел тут вроде решенье, но... у меня опять не работает :angry:
мож у когоньть запашет
в конструктор кустомного класса добавить
m_propagationLevel = wxEVENT_PROPAGATE_MAX;

типа у меня сдесь...

wxChangedEvent(int id_,wxEventType type=wxEVT_CHANGED,bool idle_=FALSE): wxEvent(0,wxEVT_CHANGED) {
id=id_;
m_eventType = type;
idle=idle_;
m_propagationLevel = wxEVENT_PROPAGATE_MAX; };

это свойство wxEvent которое по дефольту wxEVENT_PROPAGATE_NONE
  • 0