Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для T2skler
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 232

Добавление скроллбара к собственному компоненту

13.10.2012, 15:35. Показов 1180. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть компонент для которого требуется добавить скроллбар. Делаю это обычным созданием скроллбара на собственном компоненте:
C++
1
2
3
4
5
6
7
8
    ScrollBar = new TScrollBar(Owner);
    ScrollBar->Parent = dynamic_cast<TWinControl*>(this);
    ScrollBar->Kind = sbVertical;
    ScrollBar->Width = 20;
    ScrollBar->Height = Height;
    ScrollBar->Left = Left + Width - 20;
    ScrollBar->Top = 0;
    ScrollBar->Anchors = ScrollBar->Anchors << akRight << akBottom << akTop >> akLeft;
Всё вполне удовлетворяет требованием кроме одного момента - скроллбар не является "частью" компонента. Соответственно его поведение совпадает с поведением любого другого компонента, а именно: его можно изменять и при необходимости даже удалить. Как это возможно исправить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.10.2012, 15:35
Ответы с готовыми решениями:

Создание и добавление контекстного меню компоненту
Доброго времени суток! :) Есть класс с Panel, которую я добавляю на каждый элемент TabControl (т.е. каждый Tab содержит на себе мою...

Добавление фильтра к компоненту catalog.section.list: вывод количества товара добавленного за текущий месяц
Цель изменить стандартный шаблон таким образом чтоб помимо общего кол-ва товаров, добавлялось кол-во товара добавленного за текущий месяц...

Можно ли на компоненту Мемо добавить компоненту Image?
Можно ли на компоненту Мемо добавить компоненту Image??? И как это делается?

6
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
13.10.2012, 15:41
Цитата Сообщение от T2skler Посмотреть сообщение
Всё вполне удовлетворяет требованием кроме одного момента - скроллбар не является "частью" компонента. Соответственно его поведение совпадает с поведением любого другого компонента, а именно: его можно изменять и при необходимости даже удалить. Как это возможно исправить?
Немного не понял, что имеется ввиду. Объяви его в private и доступ к нему даже наследники от класса иметь не будут.
0
 Аватар для T2skler
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 232
13.10.2012, 15:50  [ТС]
Цитата Сообщение от DefineTrueFalse Посмотреть сообщение
Немного не понял, что имеется ввиду. Объяви его в private и доступ к нему даже наследники от класса иметь не будут.
Указатель на скроллбар объявлен в private, но на форме я могу редактировать его настройки, как у обычного компонента. Кстати, имя у скроллбара <Components[21]>.
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
13.10.2012, 15:57
А родитель компонента не форма случаем?

Добавлено через 3 минуты
Мне просто кажется, что у Вас что-то вроде:
C++
1
2
3
TComponent * Source;
TComponent * MyComponent = new TComponent(Source->Parent);
MyComponent->Parent = Source;
0
 Аватар для T2skler
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 232
13.10.2012, 16:41  [ТС]
Цитата Сообщение от DefineTrueFalse Посмотреть сообщение
А родитель компонента не форма случаем?

Добавлено через 3 минуты
Мне просто кажется, что у Вас что-то вроде:
C++
1
2
3
TComponent * Source;
TComponent * MyComponent = new TComponent(Source->Parent);
MyComponent->Parent = Source;
Родитель компонента - форма, а родитель скроллбара - компонент.
0
872 / 448 / 35
Регистрация: 25.10.2011
Сообщений: 910
13.10.2012, 17:29
Видимо я не правильно выразился. В общем, если листинг первого поста происходит в инициализации компонента, то вместо Owner должен быть this.
1
 Аватар для T2skler
50 / 50 / 6
Регистрация: 16.05.2012
Сообщений: 232
13.10.2012, 17:37  [ТС]
Цитата Сообщение от DefineTrueFalse Посмотреть сообщение
Видимо я не правильно выразился. В общем, если листинг первого поста происходит в инициализации компонента, то вместо Owner должен быть this.
Благодарю Опять моя невнимательность сыграла со мной злую шутку
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2012, 17:37
Помогаю со студенческими работами здесь

Наращивание Id по собственному алгоритму
Как в T-SQL это реализовать? CREATE TABLE . ( INT IDENTITY (1, 1) NOT NULL, NVARCHAR (50) NULL, NVARCHAR (50)...

Первые шаги к собственному лаунчеру
Пытаюсь изучать программирование под android и решил написать свой лаунчер. Вот только возникло несколько проблем, может подскажите где...

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

Не могу подключиться к собственному SQL-серверу.
День добрый ! Есть : - Win 2000 SP3 - SQL 2000 SP3 На SQL создал юзера, сделал базу с табл. Этого юзера вогнал в базу, дал...

Бот со стремлением к собственному финансовому благополучию
если мы научим бота пользоваться деньгами(некоторые немного умеют) и стремиться зарабатывать всё больше и больше (да рекламе, донатах и...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
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. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru