Форум: "Основная";
Текущий архив: 2002.07.01;
Скачать: [xml.tar.bz2];
ВнизСоздание двух визуальных компонентов в дизайн-тайм. Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.012 c