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

SpeedButton - включить при выделении мышкой

12.03.2013, 21:47. Показов 2590. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите, у меня примерное 200 кнопок SpeedButton, которые при нажатии мышью становятся включёнными, как сделать что б их включать можно было спомощью выделение мышкой. Сколько выделил , те и нажались.?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.03.2013, 21:47
Ответы с готовыми решениями:

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

Проверка выполнения условия при нажатии кнопки SpeedButton
подскажите плис, как в Borland C++ Builder прописать условие, которое проверяет что при нажатии одной кнопки SpeedButton выполнялось одно...

Ошибки при выделении памяти
Добрый вечер. В коде я например выделял динамическую память. char *c=new char ; Но не освобождал её при выходе из...

4
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
12.03.2013, 22:46
Цитата Сообщение от Jazva Посмотреть сообщение
Помогите, у меня примерное 200 кнопок SpeedButton, которые при нажатии мышью становятся включёнными, как сделать что б их включать можно было спомощью выделение мышкой. Сколько выделил , те и нажались.?
... это вам задания такие дают (из серии "для извращенцев"), или вы просто не слышали о CheckBox-ах?...
Со своей стороны могу предложить такой вариант__
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void __fastcall TForm1::SpeedButton1MouseDown(TObject *Sender,
      TMouseButton Button, TShiftState Shift, int X, int Y)
{
  if (Button==mbRight)
    ((TSpeedButton*)Sender)->GroupIndex =
      4000+((TSpeedButton*)Sender)->ComponentIndex ;
  else for(int i=0;i<ComponentCount;i++)  {
    ((TSpeedButton*)Components[i])->Down =
      ((TSpeedButton*)Components[i])->GroupIndex >4000 ;
    ((TSpeedButton*)Components[i])->Caption =
       IntToStr(((TSpeedButton*)Components[i])->GroupIndex);
 }
}
надо еще продумать, как сбрасывать в 0 присвоенный GroupIndex после выполнения действий.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
12.03.2013, 23:11
Цитата Сообщение от nick42 Посмотреть сообщение
или вы просто не слышали о CheckBox-ах
или о толпах RadioButton в группах
0
0 / 0 / 0
Регистрация: 17.02.2013
Сообщений: 17
12.03.2013, 23:16  [ТС]
не, это не задание, это я хочу сам прогу написать очень нужную для меня, вот там для удобства надо так выделять кнопки.

то что вы написали, выж знаете уже что я разобраться не могу в этих сложных надписях))
я запустил этот код, у меня просто обышто тварится, после знака "=" новерное чтото вписывать нужно?))
нет я не представляю как можно это сделать спомощью CheckBox или RadioButton.
Только не отправляйте меня читать сложную литературу о С++, для меня эта мука..
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
12.03.2013, 23:51
Цитата Сообщение от Jazva Посмотреть сообщение
Только не отправляйте меня читать сложную литературу о С++, для меня эта мука..
..ну так вы меня не бойтесь, - я литературы вообще не читал. После знака '=' можно ставить \ (бэкслэш; признак переноса на след. строку) или ничего не ставить... - Билдер понимает такие разрывы строк. А код поясняю: всем кнопкам на форме (путем выделения) присваивается в качестве обработчика OnMouseDown (или OnMouseUp) вот то, что я написал. А выполняет "оно" следующее: если нажимали правую кнопку мыши, то у соотв. кнопки меняется GroupIndex, - увеличивается на 4000 (надеюсь, число компонентов на форме меньше этого числа?). А если была нажата левая кнопка, то в цикле по всем компонентам выбираются те, у которых GroupIndex больше 4000.
Код в принципе неверный и дан для примера. Неверный потому, что насильно присваивается компоненту не его класс; это я писал в пробном приложении, где кроме спидбатонов нет других компонентов.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.03.2013, 23:51
Помогаю со студенческими работами здесь

Прокрутка memo вверх и вниз при выделении нажатой мышкой
Всем привет: помогите пожалуйста как зделать в memo прокрутка вверх и вниз при выделении нажатой мышкой стандартная прокрутка работает...

Написать макрос, который при выделении матрицы мышкой меняет местами столбцы, содержащие max и min элементы
Люди!Помогите студенту!! Дана матрица 9*9 в excel.Необходимо написать макрос,который при выделении матрицы мышкой меняет местами столбцы,...

Mathcad 3.0 как в этой версии включить набор клавиш мышкой ?
В 14ой версии был удобный калькулятор и все функции были структурированы в прямоугольных блоках . Можно ли как то также получить...

SpeedButton, сменить картинку при нажатии и вернуть при отжатии
Ребят, есть на форме SpeedButton и в него загружена картинка. как сделать так чтобы при событии MouseDown картинка менялась на другую, а...

Показ пароля при нажатии SpeedButton
Добрый день. У меня есть форма авторизации, и в ней пароль виде звёздочек. Вопрос, как реализовать показ пароля при нажатии SpeedBatton,...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru