Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.007 c
1-24964
mer
2002-12-27 07:17
2003.01.09
разность дат


14-25040
OlDemon
2002-12-20 07:12
2003.01.09
Сайт по VBA


3-24781
Влад2
2002-12-15 23:11
2003.01.09
Реакция TQuery на изменение TTable одной и той же БД


3-24778
atmamont
2002-12-16 11:58
2003.01.09
freereport экспорт в xls


8-24984
Nikolai_S
2002-09-23 12:31
2003.01.09
Печать TMetafile на черно-белом принтере





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский