Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712

Класс с реакцией на мышь

15.09.2018, 22:31. Показов 615. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую всех. Есть задача написать приложение, в котором можно рисовать на форме линию, прямоугольник и эллипс. Кроме этого, необходимо уже нарисованные фигуры перемещать и изменять их размеры мышью.
Для реализации был создан абстрактный базовый класс "Фигура" и производные классы конкретных фигур. Рисование происходит на канве TImage посредством функции Draw с параметром TCanvas*.
Научите, как в классах фигур определить, что мышь находится над фигурой или что фигуру захватили мышью. Правильно, что для этого нужно создать события? Тогда как это сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.09.2018, 22:31
Ответы с готовыми решениями:

Ивент с реакцией в другом потоке
В главном потоке происходит событие, к примеру А = 5. Как сделать так чтобы на смену значения А, в другом потоке , паралельно...

Чем мотивирован человек, следящий за реакцией других людей?
Много на ютубе видеороликов (пример 1, пример 2), где люди снимают свою реакцию на те или иные видеоматериалы. И таких все больше и больше....

Мышь работает через раз, то есть запустил ОС - мышь не работает, перезагрузил - мышь работает
Установлена Windows 7 со всеми последними обновлениями. Все всегда замечательно работало. Но с недавних пор мышь стала работать через раз....

4
 Аватар для Dinkin
783 / 556 / 136
Регистрация: 31.05.2013
Сообщений: 3,145
Записей в блоге: 3
18.09.2018, 00:06
Я могу быть и не прав, но тут только сравнивать координаторы фигур. В базе хранить тип фигуры, где она находится,ее координаторы и длины или просто поинты. По событию клика, смотреть какая фигура попадает под эти координаторы и является ли она поверхлежащей.
1
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
18.09.2018, 00:48
Цитата Сообщение от d7d1cd Посмотреть сообщение
Правильно, что для этого нужно создать события
Реакцию на движение, нажатие кнопки мыши отслеживают в обработчиках OnMouseMove, OnMouseDown/Up
Цитата Сообщение от d7d1cd Посмотреть сообщение
что мышь находится над фигурой или что фигуру захватили мышью
В классе предусмотреть функцию определения "находится ли курсор внутри фигуры". Для каждого экземпляра класса хранить массив координат (x, y) и с ним работать. В классе предусмотреть переменную типа номера слоя, отвечающую за порядок отрисовки объекта. Могу поделиться базовой библиотекой (код не полностью, но для начала хватит).
Вложения
Тип файла: zip PolyWork.zip (4.1 Кб, 3 просмотров)
1
 Аватар для TrollHammer
1216 / 709 / 336
Регистрация: 22.02.2018
Сообщений: 2,095
Записей в блоге: 2
18.09.2018, 15:02
Нашел в загашнике проект (не мой, но раз есть с исходниками, значит опенсорс), там реализованы, и очень просто запрашиваемые вами действия
Вложения
Тип файла: zip vbase.zip (787.0 Кб, 6 просмотров)
1
18.09.2018, 15:12

Не по теме:

С удовольствием бы выложил исходники ГИС собственной разработки, но - код уже не мой, коммерческий проект. А так новичкам, изучающим графику с использованием Builder пригодилось бы. Буду выкладывать понемногу незарегистрированные куски кода.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.09.2018, 15:12
Помогаю со студенческими работами здесь

Безпроводная мышь A4TECH G9-500F (как вскрыть мышь)
проблема в том, что сдвинулся лазер в мышке, как то с боку стоит, все работает,решил просто поправить лазер,поставить по центру ,открутил...

Исчезла мышь из диспетчера устроиств, не работает мышь!
Помогите, у меня не работает мышь. До этого исправно работала, потом начала откючаться. Я через Диспетчер Устроиств попробовал удалить ее и...

Как подключить новую мышь, что бы комп распознавал её как мышь, а не как USB Device.?
Здравствуйте! Я уже не знаю куда мне обращаться.. не кто не знает как решить мою проблему. Купил я вчера мышку X7 Oscar neon gaming...

Базовый класс "Изделие" и производные классы "Мышь", "Клавиатура", "Монитор"
/*Создать класс изделие, с полями себестоимость, цена, время выполнения, стоимость нормочаса и название. Поле себестоимость в базовом...

Есть класс A и класс B, класс B вложен в класс A и вложен в него, как классу B получить доступ к переменным класса A просто по имени?
На самом деле ничё фантастического я не прошу, ведь: template <class T> class matrix { friend class diagonal; ...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru