Форум: "Основная";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Внизкак правильно создать в run-time TabSheet и на нем RichEdit? Найти похожие ветки
← →
Homa_Programer © (2005-01-31 00:32) [0]пишу чат, необходимо создавать дополнительные вкладки(каналы общения)
вот использую следующий кодvar
TS:TTabSheet;
RichE:TRichEdit;
begin
Ts:=TTabSheet.Create(Self);
Ts.PageControl:=PageChat;
Ts.caption:="new";
RichE:=TRichEdit.Create(self);
RichE.Parent:=ts;
RichE.Align:=alClient;
PageChat.ActivePage:=ts;
end;
а как потом обращаться к вкладке и узнать к какой именно не знаю(((, подскажите!
← →
kostik78ua (2005-01-31 01:06) [1]PageControl1.Pages[i] - обращение к i-ой закладке
← →
SergP © (2005-01-31 01:26) [2]
> Homa_Programer © (31.01.05 00:32)
> пишу чат, необходимо создавать дополнительные вкладки(каналы
> общения)
> вот использую следующий код
> var
> TS:TTabSheet;
> RichE:TRichEdit;
> begin
> Ts:=TTabSheet.Create(Self);
> Ts.PageControl:=PageChat;
> Ts.caption:="new";
> RichE:=TRichEdit.Create(self);
> RichE.Parent:=ts;
> RichE.Align:=alClient;
> PageChat.ActivePage:=ts;
> end;
> а как потом обращаться к вкладке и узнать к какой именно
> не знаю(((, подскажите!
У тебя может быть проблема связаная с тем, что нельзя будет обратиться к richedit"у на конкретной вкладке, так как ті просто не будешь знать к какому ричедиту обращаться. Конечно можно хранить указатель например в tag или в отдельном массиве, но єто не очень хорошо.
Я бы сделал так:
type TMySuperPuperTabSheet=class(TTabSheet)
public
REdit:TRichEdit;
constructor create(AOwner:TComponent); override;
destructor destroy; override;
end;
...
implementation
...
constructor TMySuperPuperTabSheet.create(AOwner:TComponent);
begin
inherited create(AOwner);
Redit:=TRichEdit.Create(self);
Redit.Parent:=self;
...
end;
destructor TMySuperPuperTabSheet.destroy;
begin
FreeAndNil(Redit);
inherited destroy;
end;
и далее вместо новых объектов TTabSheet, создаешь объекты класса TMySuperPuperTabSheet,
при этом если известен указатель на TMySuperPuperTabSheet, например Sheet:TMySuperPuperTabSheet,
то указатель на ричедит получаешь Sheet.Redit, а если известен ричедит (richedit), то укзатель на вкладку будет richedit.parent
← →
Homa_Programer © (2005-02-02 23:27) [3]> SergP ©
пасиб, но я понял САМ!!!
просто мне нада будет в чате в сообщении еще указывать какую страничку(канал) открывать, и все :) так думаю будет правильней!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.02.20;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c