Форум: "Основная";
Текущий архив: 2003.01.09;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c