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

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

17.06.2011, 12:09. Показов 2342. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru