Symbian: handling key event in controls
От: Quadri  
Дата: 16.08.07 18:50
Оценка:
Недавно начал разбираться с программированием под Symbian(Series 60) и возник сейчас такой вопрос. Не могу понять как надо правильно обрабатывать событие нажатие на контрол, например нажатие на кнопку(CEikCommandButton)
В книге пишут A control should override OfferKeyEventL() to perform any
needed key handling.
Так что мне нужно каждый раз писать наследника от CEikCommandButton и переопределять метод OfferKeyEventL()? Это мягко говоря бредовая идея.
Или в OfferKeyEventL() View класса отлавливать нажатие центральной клавиши джойстика, и в зависимости от активного контрола вызывать соответствующий метод?
Кто знает, направьте на путь истинный
Re: Symbian: handling key event in controls
От: Аноним  
Дата: 17.08.07 05:36
Оценка:
Здравствуйте, Quadri, Вы писали:

Q>Недавно начал разбираться с программированием под Symbian(Series 60) и возник сейчас такой вопрос. Не могу понять как надо правильно обрабатывать событие нажатие на контрол, например нажатие на кнопку(CEikCommandButton)

Q>В книге пишут A control should override OfferKeyEventL() to perform any
Q>needed key handling.
Q>Так что мне нужно каждый раз писать наследника от CEikCommandButton и переопределять метод OfferKeyEventL()? Это мягко говоря бредовая идея.
Q>Или в OfferKeyEventL() View класса отлавливать нажатие центральной клавиши джойстика, и в зависимости от активного контрола вызывать соответствующий метод?
Q>Кто знает, направьте на путь истинный

Событие может обрабатываться тем контролом или видом, на котором лежит ваш контрол, а может и не обрабатываться. Как вам удобнее. Ничего особенного.

помоему подобная проблема описана:
http://www.newlc.com/topic-17190

ну или даже так
http://www.newlc.com/topic-13034
Re[2]: Symbian: handling key event in controls
От: Quadri  
Дата: 17.08.07 07:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Событие может обрабатываться тем контролом или видом, на котором лежит ваш контрол, а может и не обрабатываться. Как вам удобнее. Ничего особенного.


А как оно может и должно правильно обрабатываться?
Re[3]: Symbian: handling key event in controls
От: Аноним  
Дата: 17.08.07 07:27
Оценка: +1
Здравствуйте, Quadri, Вы писали:

Q>Здравствуйте, Аноним, Вы писали:


А>>Событие может обрабатываться тем контролом или видом, на котором лежит ваш контрол, а может и не обрабатываться. Как вам удобнее. Ничего особенного.


Q>А как оно может и должно правильно обрабатываться?


Может обрабатываться как вам удобно.
Хотите расширить функциональность стандартной кнопки — делайте наследника, с обработкой OfferKeyEventL(). Хотите обрабатывать нажатия из контейнера — используйте его OfferKeyEventL().
Посмотрите MCoeControlObserver, MEikCommandObserver

Ну а если говорить шире — кнопки в Series60 обычно используют только на диалогах, а в контейнерах от CCoeControl в основном все обрабатывают через CBA и menu.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.