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

Вниз

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

 
race1 ©   (2002-12-27 15:40) [0]

я пишу компонент и мне при его создании нужно ещё один компонент скреатить (лабел). делаю так:

constructor TTextShape.Create(AOwner: TComponent);
begin
lbl:=TLabel.Create(AOwner);
lbl.Parent:=Parent;
lbl.Left:=Left;
lbl.Top:=Top;
lbl.Caption:="qwer";
inherited Create(AOwner)
end;

а почему-то qwer не вижу на компоненте


 
MBo ©   (2002-12-27 15:44) [1]

inherited Create(AOwner);
lbl:=TLabel.Create(Self);
lbl.Parent:=Self???;//чей наследник TTextShape?????
lbl.Left:=0;
lbl.Top:=0;


 
Skier ©   (2002-12-27 15:46) [2]

>race1
А потому что lbl.Parent:=Parent;это на самом деле lbl.Parent:=nil; т.к. в конструкторе родителя ещё нет (=nil)
перекрой метод SetParent у TTextShape и там устанавливай родителя
для lbl...





 
Roma ©   (2002-12-27 15:46) [3]

race1 © (27.12.02 15:40)

А потому что его там нет...

Конструктор предка (inherited Create) нужно вызывать в первой строке, а не в последней... И не inherited Create(AOwner), а inherited Create( Self)... И Parent := Self... Лэйбл же должен принадлежать твоему компоненту и лежать на твоем компоненте, а не где-то еще...


 
Skier ©   (2002-12-27 15:48) [4]

>MBo
TTextShape = class(TShape)
Насколько я помню...


 
MBo ©   (2002-12-27 16:08) [5]

>TTextShape = class(TShape)
Тогда Self Parent-ом быть не может - нужен WinControl.
Если SetParent перекрывать, то это будет AParent.

А вообще, IMHO, нелепо на TGraphicControl Label привешивать. Добавить строковое свойство да и рисовать этот текст в Paint.


 
Skier ©   (2002-12-27 16:13) [6]

>MBo

> А вообще, IMHO, нелепо на TGraphicControl Label привешивать.
> Добавить строковое свойство да и рисовать этот текст в Paint.

Полностью согласен...и без извращений...


 
race1 ©   (2002-12-28 07:27) [7]

всем спасибо, перекрыл setparent.

а как передвигать лэйбл во время передвижения шейпа в десигн тайм?

>MBo
я думаю мне удобнее и проще будет приделать нелепый лэйбл, чем заниматься гемороем с рисованием на канве...



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
7-25111
vidiv
2002-10-15 14:34
2003.01.09
MultiCast для NMUPD


1-24849
kull
2002-12-25 13:45
2003.01.09
Как добавить свой пункт в меню MSWord?


1-24861
Timka
2002-12-26 18:49
2003.01.09
удаление файлов


14-25096
Mik.rob
2002-12-21 23:08
2003.01.09
Как работать с Active Skin


14-25008
Romkin
2002-12-17 15:12
2003.01.09
Требуется программист :-)))))