Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.26;
Скачать: CL | DM;

Вниз

TabSheet   Найти похожие ветки 

 
Alex-21   (2003-06-04 20:52) [0]

Создаю один TabSheet, потом второй, третий и т.д. Далее разгружаю какой-нить TabSheet, и после этого невозможно разгрузить другие. Здесь использовал для разгрузки FreeAndNil(TabSheet). Подскажите плиз!!!


 
Vulko ©   (2003-06-04 22:37) [1]


> разгружаю

Это значит уничтожаешь?
Тогда ты лучше используй деструктор.


 
ЮЮ ©   (2003-06-05 05:07) [2]

>FreeAndNil(TabSheet)
если TabSheet: TTabSheet - то она содержит ссылку лишь на последний TabSheet.

While PageControl.PageCount > 0 do
FreeAndNill(PageControl.Pages[0])

или
i :=0 ;
While i < PageControl.PageCount do begin
TabSheet := PageControl.Pages[i];
...
if <надо удалить> then FreeAndNill(TabSheet) else inc(i);
end;


 
Alex-21   (2003-06-06 20:34) [3]


> ЮЮ ©

Здесь, конечно, удаляются все TabSheet"ы, но мне нужно удалить только выборочно, например, подводишь курсор к определенному TabSheet"у, нажимаешь правой кнопкой и выбираешь пункт в PopupMenu "Удалить" и вследствие этого удаляется определенный TabSheet. Как это делается?


 
ЮЮ ©   (2003-06-07 05:23) [4]

Блин, неужели про TPageControl в хэлпе нет ни слова ???
TPageControl.ActivePage.Free;


 
Alex-21   (2003-06-07 17:53) [5]

Спасибо, разобрался.
Но появилась другая проблема: в каждом TabSheet"е создавал по RxRichEdit"у и мне нужно получить ссылку на определенный RxRichEdit.
Т.е. вот такой у меня код:


for i:=0 to 5 do
begin
TabSheet:= TTabSheet.Create(PageControl1);
RxRichEdit:= TRxRichEdit.Create(TabSheet);
RxRichEdit.Align:= alClient;
with TabSheet do begin
PageControl := PageControl1;
Name := "TabSheet"+ IntToStr(i+1);
Caption := Name;
RxRichEdit.Name:= "RxRichEdit"+ IntToStr(i+1);
RxRichedit.Parent:= TabSheet;
end;
end;


Тут, конечно, ссылка будет на последний созданный RxRichEdit, т.е. RxRichEdit.Name будет равно RxRichEdit6. И нужно поменять ссылку, например, на RxRichEdit3.
А то в хелпе нигде не могу найти. Подскажите плиз!!!


 
Song ©   (2003-06-07 18:49) [6]

Называется ричедит с числом, которое является номером текущего табшита или храни число в Tag


 
Alex-21   (2003-06-08 11:58) [7]

Как число хранить в Tag?


 
Song ©   (2003-06-08 12:10) [8]

Tag:=число


 
Alex-21   (2003-06-08 17:49) [9]

Я не очень хорошо понял. Т.е. мы приравниваем число для каждого RxRichEdit"a:

RxRichEdit.Tag:= i+1;

Верно?

Но как тогда приравнять RxRichEdit какому-нить RxRichEdit с числом, например, TabSheet можем приравнять PageControl1.Pages[i], т.е.
TabSheet:= PageControl1.Pages[i];,
а RxRichEdit:= ??? чему будет равно?
Мне нужно сделать ссылку на определенный RxRichEdit с числом.


 
Alex-21   (2003-06-09 18:51) [10]

Мастера!!! Подскажите плиз!!!
Как присвоить RxRichEdit определенный RxRichEdit с числом, который принадлежит определенному TabSheet?


 
Song ©   (2003-06-09 19:13) [11]

А что у TTabSheet по-твоему нет свойства Tag ?


 
Vulko ©   (2003-06-09 19:31) [12]

RxRichEdit.Name:=RxRichEdit+CurrentNum;

CurrentNum - номер твоего рича.

А Tag - это просто число, хранимое вместе с объектом, но можно и им пользоваться.


 
KpeHgeJIb   (2003-06-09 19:46) [13]

а если так?
RxRichEdit:=(PageControl1.Pages[X].Controls[0] as TRxRichEdit)
Тоесть присваеваем RxRichEdit ссылку на TRxRichEdit лежащий на TapSheet с индексом Х. В качестве Х ставь любое число. главное чтоб оно не было больше PageControl1.PageCount-1



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

Текущий архив: 2003.06.26;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.015 c
3-83897
vajo
2003-05-28 12:35
2003.06.26
EDBEngineError


7-84791
Дельфятник
2003-04-18 11:05
2003.06.26
Какие события надо ловить чтобы программа реагировала на то, (+)


14-84627
Andrey V.
2003-06-06 11:57
2003.06.26
ТМемо & XP


3-83961
DBDev
2003-05-29 14:01
2003.06.26
Коллеги, помогите в качестве вычисляемого поля FLOAT впихнуть...


1-84385
VISA
2003-06-09 11:58
2003.06.26
TIniFile