Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++

Войти
Регистрация
Восстановить пароль
 
Bretbas
Каждому свое
349 / 119 / 32
Регистрация: 05.08.2013
Сообщений: 1,257
Завершенные тесты: 1
#1

Реализации системы делегатов - C++

27.05.2017, 21:04. Просмотров 260. Ответов 2
Метки нет (Все метки)

Доброго времени суток, Господа. Прошу Вашего совета по-поводу разработки определенного игрового меню.

Полностью поставленную задачу не буду рассказывать, так как это долго, нудно и не интересно По мере Ваших ответов буду предоставлять нужную информацию для продолжения беседы.
Вообщем, есть кнопки, которые являются игровыми объектами и находятся в 3d пространстве. Мне нужно построить систему событий этих кнопок.
Нужны 3 события - OnFocusEnter, OnFocusLeave, OnClick.
Система событий, при управлении мыши посылает в систему событие EVENT_MOUSE_MOVE, а при нажатии на левую кнопку мыши посылает событие EVENT_MOUSE_LEFT_BUTTON_CLICK. Каждое событие имеет подпись делегата с сигнатурой (int, int) - координаты курсора

Так вот. Я не могу понять, что на что подписывать и как всем этим управлять. Мне нужно, чтобы при получение фокуса кнопка воспроизводила определенные действия, также при потере фокуса кнопка имела определенные действия и также при нажатии.
Я даже толком не могу объяснить почему у меня не получается, если честно

Есть какие-нибудь мысли?

P.S. Определить, курсор под кубиком уже реализовано. Тоесть понять, фокус есть или нет, сделано.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2017, 21:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Реализации системы делегатов (C++):

Литература по реализации классов-контейнеров - C++
Подскажите литературу по реализации классов-контейнеров. Лучше с азов. Теория, алгоритмы, примеры. Какой язык - не суть важно (лучше...

Реализации преобразований с геометрической фигурой (сферой) - C++
Товарищи подскажите кто чем сможет. Надо написать программу, позволяющую делать различные преобразования со сферой (перемещение, сжатие,...

Принципы реализации SOAP web service - C++
Итак. Я должен реализовать SOAP web service на c++. Сервис должен хоститься на Apache Axis2/C, использовать ODBC/OLE DB. В общем я пока не...

Как в include отделить интерфейс от реализации? - C++
В Turbo Pascal можно подключать модули, которые содержат разделы implementation и interface. Так содержимое раздела интерфейса доступно в...

Реализации почтового клиента - C++ Builder
Пишу некоторое подобие почтового клиента. Задача следующая - по очереди подключится к 10 почтовым ящикам и вернуть количество писем в них....

Прошу подсказать в реализации программы - C++ Builder
Привет, прошу мне помочь/подсказать в следующем: как интегрировать компонент HotKey в этот код: #include <AppEvnts.hpp> unsigned int...

2
Cuellius
184 / 92 / 65
Регистрация: 23.06.2015
Сообщений: 245
Завершенные тесты: 3
28.05.2017, 17:15 #2
Кнопка - класс.
Реализуйте поле
std::vector<void (*)(int*, int*)> events;
Тогда подписка примет вид: events.push_back(...);
При обработке найдите нужную кнопку и запустите каждую функцию в events.
1
Bretbas
Каждому свое
349 / 119 / 32
Регистрация: 05.08.2013
Сообщений: 1,257
Завершенные тесты: 1
30.05.2017, 14:51  [ТС] #3
Cuellius, уже сделал
сделал систему, которая подписана на WM_MOUSEMOVE и WM_LMOUSEBUTTONDOWN. При обработке WM_MOUSEMOVE эта система проходит по всем кнопкам; определяет фокус кнопки, и если фокус есть, то вызывает у этой кнопки OnFocusEnter и устанавливает у этой же кнопки поле isFocus в true, если у кнопки фокуса нет, то устанавливает isFocus в false и вызывает OnFocusLeave. При обработке WM_LMOUSEBUTTONDOWN проходит каждую кнопку, и проверяет поле isFocus, если оно true, то выполняет OnClick у этой кнопки
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2017, 14:51
Привет! Вот еще темы с ответами:

Ошибки при реализации сортировки - C++ Builder
Пишу быструю сортировку через функцию sort которая привязана к radiobutton через обычный button Вот код: ...

Простейший пример реализации потока на C++ Builder 6 - C++ Builder
Здравствуйте! Я новичок, пытаюсь освоить потоки. Программа должна брать 2 значения (a, b) из окон Edit1 и Edit2 с Form1, обрабатывать их в...

Наставление по реализации информационной интернет-системы - C#
Здравствуйте, дорогие форумчане. Нужно сделать программу (информационную интернет-систему), которая должна быть связана с БД удалённо, то...

Возможность реализации проверки системы условий - Lazarus
Есть-ли возможность реализовывать в среде системы проверок условия, подобной данной. Данная система была придумана в процессе поиска замены...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.