Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Вниз

Создание TabSheet динамически   Найти похожие ветки 

 
WestNik   (2007-11-30 09:35) [0]

Здравствуйте! Помогите пожалуйста!
Имеется PageControl с несколькими страницами (TabSheet). Страницы содержат StringGrid, несколько кнопок и лейблев. Нужно, чтобы в процессе выполнения программы, по нажатию кнопки создавалась/удалялась новая страница. Страницу-то создать динамически могу, а вот как в нее вставить содержимое не знаю.
Заранее спасибо!


 
Dennis I. Komarov ©   (2007-11-30 10:07) [1]

Может тебе достаточно юзать св-во visible?
Если нет - выкладывай чего и как создаешь...
Parent нужен соответствующий


 
Юрий Зотов ©   (2007-11-30 10:09) [2]

> WestNik   (30.11.07 09:35)  

> как в нее вставить содержимое не знаю.

Точно так же - Create, SetParent, SetBounds и пр. Но может быть, будет проще создать страницы в design-time, а потом только показывать нужную?


 
WestNik   (2007-11-30 11:19) [3]

>Dennis I. Komarov ©   (30.11.07 10:07) [1]
>Может тебе достаточно юзать св-во visible?

Думал над этим, но 40-50 страниц вручную как-то не охота рисовать.

Код следующий:
procedure TForm1.TabSh( Edit: TEdit);
var
 PageControl: TPageControl;
 TabSheet: TTabSheet;
 StringGrid: TStringGrid;
begin
 TabSheet := TTabSheet.Create(Self);
 TabSheet.Caption := Edit.Text;
 TabSheet.PageControl := PageControl2;
  StringGrid := TStringGrid.Create(Self);
  StringGrid.Visible := true;
end;
Последние 2 строки не работают.
С Parent не работал


 
ЮЮ ©   (2007-11-30 11:22) [4]

StringGrid-у надо ещё Parent установить, чтобы виден стал.


 
Goric ©   (2007-11-30 11:23) [5]

begin
 TabSheet := TTabSheet.Create(Self);
 TabSheet.Caption := Edit.Text;
 TabSheet.PageControl := PageControl2;
 StringGrid := TStringGrid.Create(Self);
 StringGrid.Parent := TabSheet;
end;


 
ЮЮ ©   (2007-11-30 11:28) [6]

> StringGrid := TStringGrid.Create(Self);

тогда уж TStringGrid.Create(TabSheet); вдруг и удалять придется динамически.


 
WestNik   (2007-11-30 11:29) [7]

Спасибо всем!!!! Работает! :)


 
Dennis I. Komarov ©   (2007-11-30 11:30) [8]

> Последние 2 строки не работают.
> С Parent не работал

Что значит не работают.

> StringGrid := TStringGrid.Create(Self);

Почему у тебя StringGrid сам по себе - свой собственный

> С Parent не работал

Ну тогда и нечего в disign-time не создавал :)


 
ЮЮ ©   (2007-11-30 11:32) [9]

> > StringGrid := TStringGrid.Create(Self);
>
> Почему у тебя StringGrid сам по себе - свой собственный


Он не "свой собственный", а "форменный", ибо создается в методе формы procedure TForm1.TabSh( Edit: TEdit);


 
Dennis I. Komarov ©   (2007-11-30 12:38) [10]

> [9] ЮЮ ©   (30.11.07 11:32)

Завтра он перетащит код еще куда-нить, хотя тут согласен, я не посмотрел на процедуру, а только на код. Но все равно не верно. Будет убиваться деструктором формы, что не есть гуд. Захочет убить свой табщит, а стринггрид останется.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.12.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.044 c
15-1195680552
Суслик
2007-11-22 00:29
2007.12.23
Виртуальная конференция от CodeGear!!!


2-1196243768
tytus
2007-11-28 12:56
2007.12.23
Как переделать запрос, чтобы вывелось то чего нету?


15-1195580908
master_asasin
2007-11-20 20:48
2007.12.23
Конференция


15-1195463121
infom
2007-11-19 12:05
2007.12.23
Отключение DataSource у всех компонентов на форме. Глюк ?


1-1191514077
Андрей_Св
2007-10-04 20:07
2007.12.23
Выравнивание текста





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский