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

Доступ к обьектам TForm

30.10.2013, 13:15. Показов 973. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача в следующем: есть TForm и в на нём лежит порядка 100 кнопок. Кнопки имеют определённые имена, и именно с помощью этих имён я и хочу получить доступ к этим кнопкам.
(то есть, нажав кнопку Button_2_3 хочу чтобы Button_2_4 поменял текстуру)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.10.2013, 13:15
Ответы с готовыми решениями:

получить доступ к элементу внутри TForm из функции
В общем пишу я сейчас игру "крестики-нолики" #include <iostream> #include <vcl.h> #pragma hdrstop #include...

доступ к обьектам из разных классов
Вопрос в коде interface I{} abstract class Base { public $a; function __construct($a) { ...

Доступ к обьектам созданых програмно на вкладках PageControl
Здравствуйте. Возник следующий вопрос. У меня на форме есть TPageControl без единой вкладки. После запуска програмы, при нажатии кнопки,...

6
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
30.10.2013, 13:17
FindComponent в помощь
1
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
30.10.2013, 13:20
В обработчик нажатия каждой кнопки параметром идет Sender (TObject); из него можно вынуть Name компонента (кнопки). Ну, а потом делаете ветвление в зависимости от ее имени. На мой взгляд, такие штуки правильнее проделывать с индексированными компонентами, впрочем, я не знаю, что у вас за кнопки (по функциям) и почему их так много... .
0
0 / 0 / 0
Регистрация: 30.10.2013
Сообщений: 7
30.10.2013, 13:37  [ТС]
Отлично, помогло. На примере это будет выглядить примерно так:

TBitBtn *Button = dynamic_cast<TBitBtn *>( TForm::FindComponent("Button_0_0") );
0
 Аватар для Kulgar
511 / 196 / 26
Регистрация: 07.08.2013
Сообщений: 814
30.10.2013, 14:12
Ещё можно так
C++
1
2
3
4
5
for (int j=0;j<ComponentCount;j++)
{
    if (((TLabel*)Components[j])->Name=="большое красивое имя кнопки")
.....
}
0
Практикантроп
 Аватар для nick42
4841 / 2726 / 534
Регистрация: 23.09.2011
Сообщений: 5,798
30.10.2013, 14:38
так как раз не нужно... - среди компонентов формы не все же класса TLabel...
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33398 / 21508 / 8236
Регистрация: 22.10.2011
Сообщений: 36,906
Записей в блоге: 12
30.10.2013, 14:41
Цитата Сообщение от Kulgar Посмотреть сообщение
Ещё можно так
Зачем заставлять компилятор делать const_cast + static_cast (а именно этим и занимается приведение в стиле С, если ни один из них не сработал - выполняется reinterpret_cast), когда можно сразу самому сделать static_cast?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.10.2013, 14:41
Помогаю со студенческими работами здесь

Книга по Com-обьектам
Подскажите пожалуйста толковую книгу по сом технологиям на русском языке

Скрытая привязка к обьектам
Здравствуйте форумчане, у меня возникла проблема которая каким то образом появилась еще в 18 версии корела (скорее всего нажатием...

Привязка к обьектам в коде
Изучаю материал по книге и там предостовляется три свойства для этого дела: Source(я так понял самый просто и прямолинейный способ),...

Обращение к динамически созданным обьектам
Здраствуйте помогите с проблемой Ситуация следущая на PageControl динамически создаются вкладки на вкладках тоже динамически создаются...

Нужен совет по Статическим Обьектам
Есть два класса: Main и Customer Customer состоит из class Customer { private: string name; // name of the...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru