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

Вниз

как правильно создать в 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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.06 c
14-1107225865
X9
2005-02-01 05:44
2005.02.20
mail.com


1-1107834997
Аккум
2005-02-08 06:56
2005.02.20
Динамический array of record в памяти как располагается ?


1-1107811993
k@rt
2005-02-08 00:33
2005.02.20
Сохранение в TMemoryStream


6-1102148567
CBOLOCH
2004-12-04 11:22
2005.02.20
FTP


3-1106560989
CTAPbIi
2005-01-24 13:03
2005.02.20
Обновление данных в DBGrid.