Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets > [wx] настройка событий своего контрола


Автор: Static 11.11.2009, 16:19
Подскажите, плз, кто в курсе - а то я даже не знаю, как запрос сформулировать.
Я сделал себе нечто типа datetimepicker'а, унаследовав его от wxTextCtrl. Проверка введенных данных происходит в момент потери фокуса компонентом либо по [Enter]. Теперь задачка:
Я хочу, чтоб некоторая функция вызывалась при изменении значения в этом компоненте. Но меня, естественно, интересует лишь значение, которое прошло проверку. Поэтому wxEVT_COMMAND_TEXT_UPDATED, доставшийся мне "в наследство", - не подходит. Как сделать?

Автор: Static 11.11.2009, 17:13
так, немного разобрался.. каша в голове утряслась smile вроде бы
Мне нужно "выстрелить" событие всего-то навсего. Но не выходит пока.
Код

//MyControl.cpp
wxCommandEvent tmpevt(wxEVT_DATE_CHANGED);
wxPostEvent(this, tmpevt);

//MyFrame.cpp
Connect(m_datetimepicker1->GetId(), wxEVT_DATE_CHANGED,(wxObjectEventFunction)&MyFrame::OnSmthn);


функция OnSmthn не вызывается... почему? Подозреваю, что неправильно сделал wxPostEvent. Что первым параметром передавать надо?

Автор: Static 11.11.2009, 17:30
Все, победил smile
Когда создаю событие, надо ему присвоить идентифкатор-то...
Код

wxCommandEvent(wxEVT_DATE_CHANGED, this->GetId());

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)