Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/36: Рейтинг темы: голосов - 36, средняя оценка - 4.78
17 / 14 / 6
Регистрация: 21.04.2009
Сообщений: 65

Динамическое добавление вкладок в TPageControl

22.04.2009, 03:38. Показов 7461. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Возможно ли добавление вкладок в TPageControl во время исполения программы?
Если да, то как после этого на созданную вкладку добавить TEdit (ну или любой другой компонент)?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.04.2009, 03:38
Ответы с готовыми решениями:

Динамическое создание вкладок TPageControl
Думаю, что тема уже стара, но конкретно у меня не получается добавить даже одну вкладку. Вот пример, создаю кнопку. Внутри пишу...

TPageControl - Как изменить ширину вкладок
Как изменить ширину вкладок??? Как сделать чтобы например три вкладки были одинаковой ширины и полностью заняли всю длину панели??

StringGrid динамическое добавление строк
Добрый день, есть программа : Выводит на экран имя файла,размер файла,дату создания,контрольную сумму.Но это консольное приложение.Хочу...

5
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
22.04.2009, 09:23
mustss, главное - это правильно указать созданному элементу родителя, он и определяет положение компонентов на форме, а создается как и любой другой объект через new...
1
43 / 10 / 1
Регистрация: 20.04.2009
Сообщений: 32
22.04.2009, 12:48
Так ТО:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
TMemo *crl=new TMemo(this);
 TTabSheet *crl1=new TTabSheet(this);
// crl->Parent=this;
 crl1->Parent=this;
 crl1->PageControl=PageControl1;
 crl1->Caption="Открытка!";
 crl->Parent=crl1;
 crl1->Align=taCenter;
 crl->Text=Form1->Memo1->Text;
 crl->Left=8;
 crl->Top=8;
 crl->Height=160;
 crl->Width=310;
 crl->Alignment=taCenter;
 crl->Font->Color=clAqua;
 crl->Font->Size=34;
 crl->Font->Name="ArialBlack";
 {
  if(cb==0)
  {crl->Color=clYellow;}
  else{crl->Color=Form1->ColorDialog1->Color;}
 }
 crl1->BorderWidth=10;
 crl1->Enabled=false;
1
17 / 14 / 6
Регистрация: 21.04.2009
Сообщений: 65
22.04.2009, 13:15  [ТС]
Цитата Сообщение от WooDooMan Посмотреть сообщение
mustss, главное - это правильно указать созданному элементу родителя, он и определяет положение компонентов на форме, а создается как и любой другой объект через new...
Пробовал, не получается. Можно пример? Причём мне интересно именно добавление вклади в ТТабКонтрол, или в ТПэйджКонтрол.

Понимаю, что задаю в общем, глупые вопросы, но пишу первую прогу на биледе. В любом случае благодарю за потраченное на меня время.

Добавлено через 2 минуты 57 секунд
Цитата Сообщение от marty0701 Посмотреть сообщение
Так ТО:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
TMemo *crl=new TMemo(this);
 TTabSheet *crl1=new TTabSheet(this);
// crl->Parent=this;
 crl1->Parent=this;
 crl1->PageControl=PageControl1;
 crl1->Caption="Открытка!";
 crl->Parent=crl1;
 crl1->Align=taCenter;
 crl->Text=Form1->Memo1->Text;
 crl->Left=8;
 crl->Top=8;
 crl->Height=160;
 crl->Width=310;
 crl->Alignment=taCenter;
 crl->Font->Color=clAqua;
 crl->Font->Size=34;
 crl->Font->Name="ArialBlack";
 {
  if(cb==0)
  {crl->Color=clYellow;}
  else{crl->Color=Form1->ColorDialog1->Color;}
 }
 crl1->BorderWidth=10;
 crl1->Enabled=false;
Благодарю, попробовал возникли вопросы:
  1. для выполнения кода на форме должны находится ТМемо, ТПэйджКонтрол, и КолорДиалог, я правильно понял? Без них не идёт, даёт ошибки.
  2. что такое "cb"
0
43 / 10 / 1
Регистрация: 20.04.2009
Сообщений: 32
22.04.2009, 17:41
C++
1
2
3
4
5
6
7
TTabSheet *crl1=new TTabSheet(this);
 crl1->Parent=this;
 crl1->PageControl=PageControl1;
 crl1->Caption="Открытка!";
 crl1->Align=taCenter;
 crl1->BorderWidth=10;
 crl1->Enabled=false;
Просто пример ведь давал тебе это из моей лабы. Вот урезанный пример, просто с pagecontrol. пользуйся

Добавлено через 2 минуты 53 секунды
Вот тут:
C++
1
crl - > Parent=crl1;
и происходит добавление любого элемента на ранее динамически созданную страницу. Просто для нового динамически созданного объекта(у меня memo, у тебя Edit и т.д.) указываешь родителем созданную до этого динамически страницу! Вот так
2
17 / 14 / 6
Регистрация: 21.04.2009
Сообщений: 65
22.04.2009, 21:27  [ТС]
Цитата Сообщение от marty0701 Посмотреть сообщение
C++
1
2
3
4
5
6
7
TTabSheet *crl1=new TTabSheet(this);
 crl1->Parent=this;
 crl1->PageControl=PageControl1;
 crl1->Caption="Открытка!";
 crl1->Align=taCenter;
 crl1->BorderWidth=10;
 crl1->Enabled=false;
Спасибо.
Чуть-чуть переделал код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
void __fastcall TForm1::Button2Click(TObject *Sender)
{
    int i;
    TTabSheet *crl1=new TTabSheet(this);
    TMemo *crl=new TMemo(this);
    crl1->Parent=this;
    crl1->PageControl=PageControl1;
    crl1->Caption="Открытка!";
    i=crl1->TabIndex;
    crl1->PageControl->Pages[i];
    crl1->PageControl->ActivePage->PageIndex=i;
    crl->Parent=crl1;
    crl->Left=8;
    crl->Top=8;
    crl->Height=50;
    crl->Width=100;
    crl->Alignment=taCenter;
    crl->Font->Color=clAqua;
    crl->Font->Size=34;
    crl->Font->Name="ArialBlack";
}
На форме КомандБатон и пустой ПэйджКонтрол. Жмем на кнопку и после этого в ПэйджКонтрол добавляется страница с ТекстЭдитом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.04.2009, 21:27
Помогаю со студенческими работами здесь

Динамическое добавление элементов в массив
Требуется создать массив, размерностью в количество десятичных цифр, введенных с клавиатуры и занести туда эти элементы. Всё что имею на...

Динамическое добавление объектов на форму
Задача такая: Добавить n элементов типа checkBox. n вводится в edit Нашёл на форуме такой код. Вот только интегрировать его в свою...

Динамическое добавление объектов разных типов
Цель следующая, хочу сделать что-то вроде категорий (лейблы) и подкатегорий(чекбоксы). TStringList* Sections = new TStringList; ...

StringGrid: динамическое добавление строк и назначение типа столбцов
Доброго дня! Есть ли StringGrid, которому можно было задать тип конкретной ячейки (или всего столбца): ComboBox, обычный Edit, CheckBox?...

Раскрасить ярлычки TPageControl
Привет всем! Хочется раскрасить в разные цвета ярлычки листов объектов TPageControl. Всё, что смог найти - это способ раскрасить...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
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. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru