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

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

22.04.2009, 03:38. Показов 7402. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
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 - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru