Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307

Наследование свойств компонентов

26.11.2016, 01:53. Показов 1740. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
возник небольшой вопросик (чистое любопытство) такого плана:
допустим возьмём любой компонент формы, напр кнопку - Button1, у неё есть св-во Visible. При его наборе, всплывающая подсказка предлагает 2 варианта Visible - собственно от TButton, и унаследованные от общего предка TControl. Какой не выберешь - компилятор сделает своё дело, и кнопочка корректно сделает true/false своей видимости и все довольны
Но мне интересно, кого из свойств более корректно использовать - от TButton или TControl? И если до лампочки какое - то в каком случае всё же будет важен выбор или/или?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.11.2016, 01:53
Ответы с готовыми решениями:

Изменение свойств компонентов
Как изменить программно свойство ReadOnly в компоненте MaskEdit (c true на false)?

Объявление переменных с использованием свойств компонентов формы
Есть вот такой код: //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop ...

Наследование компонентов
Мне понадобился специфический компонент в Builder, типа TButton, но который будет иметь больше свойств или методов, чем стандартная кнопка....

7
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
27.11.2016, 04:37  [ТС]
ап темку
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
28.11.2016, 14:13
Лучший ответ Сообщение было отмечено Wolver как решение

Решение

Цитата Сообщение от Wolver Посмотреть сообщение
При его наборе, всплывающая подсказка предлагает 2 варианта Visible - собственно от TButton, и унаследованные от общего предка TControl.
Свойство одно - унаследованое:

Vcl.StdCtrls.TButton.Visible inherits from Vcl.Controls.TControl.Visible. All content below this line refers to Vcl.Controls.TControl.Visible.
http://docwiki.embarcadero.com... on.Visible
0
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
08.12.2016, 18:52  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Свойство одно - унаследованое:
так зачем тогда Builder предлагает 2 варианта, а не допустим более старшего предка по дереву компонентов?
Свойства то безусловно будут работать в любом из вариантов, но меня очень интересует есть ли разница в использовании и если да, то в каких случаях это важно?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33182 / 21480 / 8231
Регистрация: 22.10.2011
Сообщений: 36,848
Записей в блоге: 12
08.12.2016, 19:03
Лучший ответ Сообщение было отмечено Wolver как решение

Решение

Нет никакой разницы. Хочешь убедиться? Пожалуйста: выбери сначала одно свойство из подсказки (пусть это будет TButton::Visible), зажми Ctrl, и щелкни по этому свойству мышью. Куда перебросило? На описание класса TButton и выделило его свойство Visible, правда? А теперь выбери из всплывающей подсказки другое свойство, TControl::Visible. И точно также щелкни по нему с зажатым Ctrl-ом. Внимание, вопрос: куда тебя теперь перебросило?
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.12.2016, 19:09
Wolver, Не знаю, какая разница? Отображает он так...
0
28 / 24 / 10
Регистрация: 26.04.2015
Сообщений: 307
08.12.2016, 19:10  [ТС]
Цитата Сообщение от volvo Посмотреть сообщение
И точно также щелкни по нему с зажатым Ctrl-ом. Внимание, вопрос: куда тебя теперь перебросило?
хах, и вправду. Зачем тогда разрабы делали 2 варианта?)
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33182 / 21480 / 8231
Регистрация: 22.10.2011
Сообщений: 36,848
Записей в блоге: 12
08.12.2016, 19:15
Просто подсказка проверяет всё дерево наследования, и если есть какие-то подходящие идентификаторы (public или published) - они показываются все.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.12.2016, 19:15
Помогаю со студенческими работами здесь

Изменение свойств компонентов при выборе пункта меню
у меня в TMainMenu, есть несколько элементов, каждому из которых соответствуют на форме нужные элементы (копки, надписи, картинки и т.д.)....

Кнопки и статик боксы. Изменение свойств одних компонентов в зависимости от других.
у меня есть пять кнопку и пять статик боксов. Мне нужно что бы каждый раз текст находился в разных текст боксах, и при этом менялись в...

Наследование tablelayoutpanel и сохранение доступности свойств компонентов, расположенных на ней
Добрый день! Есть Form1 на ней protected textbox1 и protected tablelayout1 Есть Form2 :Form1 (наследуется от Form1) Если...

Наследование свойств
Хотелось бы описать 1 функцию в базовом классе типа: void func(){ procedure( a ); } , где "a" представляет собой что-то типа: ...

Редактор свойств компонентов
Как при 2 клике на компонент открывался редактор его свойств?


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
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
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru