Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.029 c
14-1106866890
Soft
2005-01-28 02:01
2005.02.20
Пятничная задачка. Кто такие эльфы?


4-1104861759
programmerts
2005-01-04 21:02
2005.02.20
Можно ли скрыть свой процесс в Delphi или запретить его завершени


4-1105057690
Unleashed
2005-01-07 03:28
2005.02.20
Нагрузка процессора


1-1107845162
Ega23
2005-02-08 09:46
2005.02.20
Финальная сборка DLL


1-1107263086
BaDeVlad
2005-02-01 16:04
2005.02.20
Несворачиваемое окно




   Наверх