С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11

Как выделять мышкой несколько объектов на форме

16.12.2023, 17:26. Показов 2898. Ответов 6

Студворк — интернет-сервис помощи студентам
Добрый день, я использую Windows 10 и C++ Builder 11.
И так у меня есть адресная светодиодная лента цветом которой я управляю через COM порт. Я предполагал что в программе для винды будет рисунок этой ленточки и когда я буду нажимать на светодиод то смогу выбрать для него цвет, но есть две проблемы я не уверен какие компоненты стоит для этого использовать и я не знаю как мне выделить сразу несколько таких "светодиодов" и задать им цвет. Заранее больше спасибо.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.12.2023, 17:26
Ответы с готовыми решениями:

Как выделять фрагмент изображения мышкой?
Здравствуйте! Мне необходимо реализовать функционал: выделение объекта на изображении прямоугольником и получение координат прямоугольника...

Передвижение объектов по форме мышкой
Хочу написать в Windows Forms игру Unblock King. На данном этапе реализовал реализовал перемещение PictureBox по форме, и их столкновение....

Перемещение объектов на форме мышкой
Здравствуйте. Возникла необходимость перемещать, уже в запущенной программе, объекты интерфейса... например Shape захватить мышкой и...

6
 Аватар для FFPowerMan
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,240
16.12.2023, 17:42
На форме выделять несколько элементов: выбираешь первый элемент и нажимаешь Ctrl(или Shift) и выделять остальные элементы.
0
 Аватар для FFPowerMan
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,240
17.12.2023, 08:59
Shift.
0
0 / 0 / 0
Регистрация: 03.10.2019
Сообщений: 11
07.01.2024, 21:30  [ТС]
Я имел в виду выделение кнопок как ярлыков на рабочем столе. К тому же использовать Ctrl(или Shift) не получается т.к. кнопки просто нажимаются. Есть вариант как сделать это без кнопок?
0
2 / 2 / 0
Регистрация: 31.07.2022
Сообщений: 16
08.01.2024, 00:22
Насколько я понял, речь идет не о дизайнтайме а о рантайме.

Тогда можно предложить, наверное, такой вариант.
1. Создаем на форме отдельную панель.
2. Используем, пожалуй, не кнопки, а картинки (TImage).
3. По клику на картинке идет фиксация состояния "для этого светодиода цвет будем менять". Тут в обработчике можно зацепить и Ctrl, и Shift.
4. По правому клику на панели - вызов контекстного меню с выбором цвета.
5. После выбора - загрузка новой картинки с цветом для каждого имиджа, имеющего состояние "выбран".

Ну а реализаций этого алгоритма множество... Все зависит от Ваших навыков в программировании. Например, в качестве флага выбора можно использовать свойство Tag. Или создать свой класс, унаследованный от базового класса Timage с необходимыми дополнениями, или... Короче много.
1
place status here
 Аватар для gunslinger
3186 / 2220 / 640
Регистрация: 20.07.2013
Сообщений: 6,012
08.01.2024, 02:51
Можно для каждого светодиода использовать отдельные чекбоксы - при выборе (смене) цвета проверяем, на каком из светодиодов "галка" установлена, и исходя из этого задаем (меняем) цвет.

"Пример" (нужно еще поместить на форму ColorDialog):

Название: form2.png
Просмотров: 102

Размер: 19.9 Кб

При нажатии на ButtonColor будет появляться окно выбора цвета.

Прописать код (при выборе цвета он будет меняться в ButtonColor-е):
C++
1
2
3
4
void __fastcall TForm1::ColorDialogClose(TObject *Sender)
{
  ButtonColor->SymbolColor = ColorDialog->Color;
}
И далее уже физически менять цвета соответствующих светодиодов.
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
08.01.2024, 04:57
Лучший ответ Сообщение было отмечено HEBIN как решение

Решение

Цитата Сообщение от HEBIN Посмотреть сообщение
Есть вариант как сделать это...?
Вариантов может быть множество. Посмотрите и мой для разнообразия. Использовал шейпы в качестве светодиодов. Обратите внимание на их тэги, - они определяют цвет. Отобранные светодиоды становятся серого цвета; в выпадающем меню (по правой кнопке мыши) можно установить новый цвет. В начале текста unit1.cpp пару обработчиков обшие для нескольких компонентов. Программа простенькая, без всяких защит и анализов; просто для понимания алгоритма.
Миниатюры
Как выделять мышкой несколько объектов на форме  
Вложения
Тип файла: zip 22.ZIP (369.1 Кб, 14 просмотров)
3
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.01.2024, 04:57
Помогаю со студенческими работами здесь

Перемещение объектов OvalShape по форме мышкой
Подскажите как это реализовать, пожалуйста!

Как создать на форме несколько объектов по данным из БД
Есть база данных, из которой я делаю запрос на выборку товаров. В запросе я выбираю картинку и название товара. Как мне сделать так, чтобы...

Как заставить Calendar из Microsoft Calendar Control 8.0 выделять несколько чисел?
Как заставить Calendar из Microsoft Calendar Control 8.0 выделять несколько чисел? Или подскажите где взять календарь который умеет это...

Как выбрать в поле с датой и временем в форме мышкой?
есть поле с датой и временем, но при выборе мышкой показываться, только календарь как заставить еще и время выбирать?

Отобразить в документе несколько картинок. Выделять картинки по щелчку мыши
Всем привет. Помогите пожалуйста с заданием, прошу. Отобразить в документе несколько картинок в ряд. Предусматривать изменение по...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru