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

Обновление поля Enabled обьектов (Меню, кнопки, тулбар, ...)

17.06.2011, 12:09. Показов 2327. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.

Подскажите, пожалуйста, не могу нигде найти такой topicЖ
- В приложении есть меню, тулбар и так далее.
- при определенных действиях мне нужно, чтобы автоматически (или с помощью кода) становились неактивными кнопки, пункты меню и так далее.

Пример:

Есть на форме:
1. список (ListView)
2. меню (в нем есть действия над списком - Добавить, удалить, редактировать)
3. Тулбар с кнопками дублирующими пункты меню.
4. обьект ActionList

необходимо, чтобы в случае пустого списка пункты меню и соответственно кнопки тулбара были неактивными. В Microsoft Studio есть событие UPDATE которое вызывается для таких случаев - как обстоят дела в Buildere C++ с такими делами. ТО есть как мне сделать описанные выше операции?

Спасибо большое за консультацию.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.06.2011, 12:09
Ответы с готовыми решениями:

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

Меню по ПКМ, убирающее тулбар
Решил я разобраться как тулбар работает, создал тестовое приложение. И все бы хорошо, да если кликнуть ПКМ появляется менюшка как на...

Тулбар для IE, кнопки с изображением разного размера
Доброго времени суток, у меня возникла проблема которую я безуспешно пытаюсь решить. Все наверное видели тулбар для ИЕ где на кнопках...

7
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
17.06.2011, 12:14
Цитата Сообщение от sergey.ivanov Посмотреть сообщение
еобходимо, чтобы в случае пустого списка пункты меню и соответственно кнопки тулбара были неактивными
Ну так делай их неактивными
C++
1
2
ToolButton1->Enabled = false; 
//и так далее
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.06.2011, 12:18
C++
1
if (КакоеНибудьВашеУсловие) {Button->Enabled = false;}
0
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 46
17.06.2011, 18:23  [ТС]
Так это при каждом выполнении операции еще и вставлять код обработки кнопок и меню? А так чтобы событийно винда опрашивала состояние кнопок нет?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
17.06.2011, 19:20
событийно это как?
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
17.06.2011, 19:38
Цитата Сообщение от LK Посмотреть сообщение
событийно это как?
Виндовс телепат.
0
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
18.06.2011, 12:20
sergey.ivanov, в Билдере как раз есть то, о чём ты говоришь.
Это система действий, которые взаимосвязаны.

Есть уже стандартные действия, например для потомков TListControl,
есть CopySelection, DeleteSelection, MoveSelection, SelectAll, ClearSelection.

К тому же можно действия назначать целой группе объектов.

В TActionList выбираешь NewStandardAction, находишь пункт List и добавляешь указанные выше действия.

Затем в TMainMenu добавляешь пункт меню, допустим, называешь его Edit,
и добавляешь в него пункты, только ничего в нём не редактируешь,
а в поле Action выбираешь нужное действие.
После того, как ты выберешь нужное действие, у тебя пункт меню сам изменит своё название
согласно того, что у тебя написано в TAction

Дальше добавляешь эти действия там, где они у тебя дублируются, например,
в Тулбаре добавляешь 5 кнопок TSpeedButton и у них в свойстве Action,
то же выбираешь соотв. действие.

Теперь добавляешь на форму свой TListView.

И запускаешь приложение.

После запуска у тебя кнопка DeleteSelection на тулбаре,
пункт меню в TMainMenu и т.д. ещё не активны,
клацни на TListView, кнопка и пункт меню станут активными.
Нажми на кнопку - и удалится выделенная запись!

Вот и всё, ни одной строчки кода.

П.С. Когда посмотришь внимательно, то увидишь, что такие стандартные действия
в Билдере уже продуманы и для других компонентов Memo, Dialog, RichEdit и т.д.

К тому же ты можешь создавать и свои действия.

Неплохо это расписано у Архангельского в книге по Билдеру.
Есть уроки в Ютубе по поддержке действий
2
3 / 3 / 0
Регистрация: 22.02.2011
Сообщений: 46
18.06.2011, 15:53  [ТС]
Благодарю за толковый ответ.

Если можно ссылочку кинуть на книжечку и на YouTube (если у тебя таковые под рукой)

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

Enabled кнопки
Мне нужно чтобы когда значения некоторых переменных (а их 3 одна из них это перечисление enum другие 2 это число и строка) не были по...

Тулбар, где могут быть не только кнопки, но и ComboBox и TextBox
Всем привет, Подскажите, пожалуйста, контрол ТУЛБАР, где могут быть не только кнопки, но и ComboBox и TextBox. Как в Экселе или в...

Добавление своей кнопки в тулбар в форме создания нового поста
Создал свой shortcode, по сути - альтернатива имеющейся в форме добавления нового поста кнопке цитаты. Отличается внешним вид цитаты, на...

Цвет поля - Input Enabled
Если редактировать поле запрешено на Input Enabled, то содержимое поля отображается светло-серым цветом. Можно ли как-то изменять этот...

Проверка кнопки на Enabled/Disabled
Здравствуйте, такая проблема. Пишу авторизацию в Youtube через компонент WebBrowser. Когда дохожу до подтверждения прав доступа,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru