Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Создание компонентов во время исполнения программы

12K
06 сентября 2005 года
dw!
7 / / 06.09.2005
Есть прога с компонентом TPageControl. Нужно сделать так чтобы при нажатии кнопки добавлялась еще одна страница (типа TTabSheet). Собственно страницу я научился добавлять, но проблема как добавить на эту страницу какие-то компоненты, чтобы она была не пустая.
Я делаю так:
 
Код:
TTabSheet *Sheet = new TTabSheet (Pages); // создаем страницу
  <.. добавление новой страницы ..>  
  TStringGrid* List = new TStringGrid(Sheet); // создаем компонент страницы


Еще пробовал делать так:
 
Код:
TTabSheet *Sheet = new TTabSheet (Pages); // создаем страницу
  <.. добавление новой страницы ..>  
  TStringGrid* List = new TStringGrid((TComponent*)0); // создаем компонент без принадлежности
  Sheet->InsertComponent(List); // вставляем компонент


Я смотрел, поле ComponentCount увеличивается в обоих случаях, но страница пустая, на ней ничего нет.

Еще в мануале написано, что RemoveComponent можно применять для любого nonvisual компонента, а про InsertComponent такого не сказано, или все же вставлять можно только невизуальные компоненты?

Чего я неправильно делаю, и как делать правильно? :-)

.
299
06 сентября 2005 года
3D Bob
885 / / 18.04.2005
 
Код:
TTabSheet *Sheet = new TTabSheet (Pages); // создаем страницу
  <.. добавление новой страницы ..>  
  TStringGrid* List = new TStringGrid(Sheet);
   List->Parent = Sheet;

Сначало бы просто научился добавлять компоненты, а потом уже и на страницы целиться.
12K
07 сентября 2005 года
dw!
7 / / 06.09.2005
Цитата:
Сначало бы просто научился добавлять компоненты, а потом уже и на страницы целиться.


Большой сэнкс!
Просто до сих пор не было необходимости в динамическом создании компонентов - все можно было на формочках заранее наклепать, а тут на страницы полез, так неудобно что они пустые появляются :-))

.

246
07 сентября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by 3D Bob
 
Код:
TTabSheet *Sheet = new TTabSheet (Pages); // создаем страницу
  <.. добавление новой страницы ..>  
  TStringGrid* List = new TStringGrid(Sheet);
   List->Parent = Sheet;

Сначало бы просто научился добавлять компоненты, а потом уже и на страницы целиться.


Уж кто бы говорил ...

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TTabSheet *pPage = new TTabSheet(PageControl1);
    pPage->PageControl = PageControl1;
    pPage->TabVisible = true;
    pPage->Caption = AnsiString("  TabIndex: ") + IntToStr(pPage->TabIndex);
    TStringGrid* sg = new TStringGrid(pPage);
    sg->Parent = pPage;
    sg->Align = alClient;
    sg->Visible = true;//<<<<<<<<!!!!!!!!!
}
299
07 сентября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by GIZMO
Уж кто бы говорил ...

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    TTabSheet *pPage = new TTabSheet(PageControl1);
    pPage->PageControl = PageControl1;
    pPage->TabVisible = true;
    pPage->Caption = AnsiString("  TabIndex: ") + IntToStr(pPage->TabIndex);
    TStringGrid* sg = new TStringGrid(pPage);
    sg->Parent = pPage;
    sg->Align = alClient;
    sg->Visible = true;//<<<<<<<<!!!!!!!!!
}



Что за наезды?:(
Это не обязательно, у меня работает без этого.

246
08 сентября 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by 3D Bob
Что за наезды?:(
Это не обязательно, у меня работает без этого.


Учитывая это:
http://forum.codenet.ru/showthread.php?s=&threadid=25665

изречение:
- Сначало бы просто научился добавлять компоненты, а потом уже и на страницы целиться.
ну, мягко говоря некорректно.:)

P.S.
- А эта странная фраза: "Собака - друг человека."

299
08 сентября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by GIZMO
Учитывая это:
http://forum.codenet.ru/showthread.php?s=&threadid=25665

изречение:
- Сначало бы просто научился добавлять компоненты, а потом уже и на страницы целиться.
ну, мягко говоря некорректно.:)

P.S.
- А эта странная фраза: "Собака - друг человека."


Хех) Ок:)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог