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

Вниз

Создание двух визуальных компонентов в дизайн-тайм.   Найти похожие ветки 

 
BKV   (2002-06-18 16:35) [0]

Такая ситуация:
Создаю компонент на форме в дизайн-тайм
Описание компонента:
ТMyComp=class(tbutton)
private
Mylabel:Tlabel;
public
constructor Create;override;
end;

constructor Create(AOwner: TComponent);
begin
inherited create(AOwner);
myLabel:=Tlabel.Create(AOwner);
end;
Регистрирую компонент в VCL и кидаю его на форму.
Созданная кнопка появляется на форме, а описанная в ней метка
нет. Т.к значение parent ей не присваивается.
ПОМОГИТЕ! Что делать?


 
Игорь Шевченко ©   (2002-06-18 16:45) [1]

У label должен быть parent установлен, чтобы она знала, где ей рисоваться.


> Что делать?


Очевидно, parent Label"у присваивать. В перекрытом методе CreateWnd этого компонента.


 
BKV   (2002-06-18 17:12) [2]

Delphi присваивает значение parent компонента
после выполнения конструктора этого компонента.
И компоненты, которые создаются внутри его конструктора не
могут получить доступ к parent.


 
vuk ©   (2002-06-18 17:19) [3]

Перекрыть SetParent (это все равно так или иначе придется делать). Если у Вас D6 можете попробовать использовать Internal component (см. TLabeledEdit).


 
Игорь Шевченко ©   (2002-06-18 17:20) [4]

Получить доступ они могут всегда.
На CreateWnd сказать MyLabel.Parent := Self не получается ?


 
BKV   (2002-06-18 18:10) [5]

Попробовал перекрыть метод Setparent-работает нормально,
но после закрытия приложения выдает ошибку.
Попробовал перекрыть метод CreateWnd-все отлично!
СПАСИБО!


 
Fiend ©   (2002-06-18 18:12) [6]

дык надо деструктор еще перекрыть, и уничтожить сначала дочерний объект а потом владельца



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

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

Наверх




Память: 0.48 MB
Время: 0.013 c
1-1007
alex-ran
2002-06-20 12:19
2002.07.01
Передача значений из проекта в юнит


14-1161
Anatoly Podgoretsky
2002-05-29 21:04
2002.07.01
Книга по BASM


1-1100
Zamiran
2002-06-19 13:52
2002.07.01
Помогите!!!!


7-1215
BAHO
2002-03-28 21:46
2002.07.01
помогите


7-1221
Skyter
2002-04-04 14:43
2002.07.01
Как прервать выполнение процедуры нажатием клавишы