![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
добрый день.
имеется собственная gui-библиотека. в ней нет поддержки сигналов-слотов или подобного. для обработки клика по кнопке, к примеру, приходится сабклассить Button, перегружать виртуальную функцию click и передавать управление дальше, например, родительскому окну для обработки клика. это дело порядком надоело. кто какие решения предложит? mfc-шный стиль мне не нравится, сигналы-слоты нереально. у меня есть одна идея, но озвучить пока не буду, хочу послушать ваши мысли. спасибо.
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
![]() |
![]() |
![]() |
#2 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
У меня валялась реализация делегата. Т.е. обёртка над функциями и методами списком. Сопоставляешь каждому событию (константа) один такой делегат, в компоненте реализуешь функцию подписки на событие, а как оно наступило, делаешь вызов и делегат сам вызывает все подписанные методы и функции.
|
![]() |
![]() |
![]() |
#3 |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
на observer похоже. observer у меня реализован, но я не хочу его использовать в тривиальных классах, типа Button
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
![]() |
![]() |
![]() |
#4 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
Дык события это и есть по сути наблюдатель. Хотя у меня реализовано то что нужно или я не понял. Что-то должно выкидывать события, что-то должно их ловить. Сигналы-слоты так же работают.
|
![]() |
![]() |
![]() |
#5 |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2Carbon
идея наблюдателя в том, что много наблюдателей могут следить за множеством объектов. мне это не нужно, излишняя сложность
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
![]() |
![]() |
![]() |
#6 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
Посмотри, как сделаны делегаты в шарпе. У меня аналогично.
Код:
Код:
Последний раз редактировалось Carbon; 02.07.2011 в 00:28. |
![]() |
![]() |
![]() |
#7 |
C++ hater
Старожил
Регистрация: 19.07.2009
Сообщений: 3,333
|
![]()
2Carbon
спасибо, материала по делегатам нарыл, почитаю. раньше с ними не работал. просто observer в явном виде ну очень не хочется использовать
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay
My other car is cdr. Q: Whats the object-oriented way to become wealthy? A: Inheritance |
![]() |
![]() |
![]() |
#8 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
![]()
когда-то тоже мечтал о своем UI, ничего особо умного не придумал: клик любого батона делает send сообщения с ID батона родительскому или верхнему окну.
Последний раз редактировалось f.hump; 02.07.2011 в 01:03. |
![]() |
![]() |
![]() |
#9 |
JAVA BEAN
Участник клуба
Регистрация: 22.04.2007
Сообщений: 1,329
|
![]()
Ну в общем сам смотри. Если нужен делегат, он у меня лежит. Постом выше пример его использования.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обработка сообщений приложением | Zemelya | Общие вопросы C/C++ | 1 | 12.02.2011 21:49 |
обработка сообщений из файла | fiascko | Общие вопросы Delphi | 18 | 30.03.2010 09:44 |
Обработка сообщений в приложении без окон. | kalexi | Win Api | 2 | 26.06.2009 20:12 |
Обработка сообщений в консольных приложениях | Mixasik | Общие вопросы Delphi | 2 | 06.06.2009 22:50 |
Обработка сообщений иконки трея | The_Darkness | Win Api | 18 | 15.07.2008 16:07 |