Вниз
Скачать: CL | DM;

не находит контрол на форме   Найти похожие ветки 

 
Mikle   (2009-03-12 18:18) [0]

Здравствуйте.
Пишу программку, в которой объекты при активации должны динамически генерировать под себя интерфейс на панельке...
Генерируют, заполняют. При деактивации должны удалять созданные ими контролы. Удалются все кроме надписей (TLabel).
В сокрашённом виде это выглядит так:


control:=TLabel.Create(self);
control.Parent:=Form1;
control.Name:="mycontrol";
control:=Form1.FindChildControl("mycontrol"); {возвращает NIL}
control.Destroy;


Оно же работает с TEdit, TButton, TMemo и т.п. TLabel  ведь тоже наследник класса TControl, так почему же тогда не находит???

Да, ещё хотел спросить.. сначала вызывал не Destroy, а Free - ошибка не появлялась, а надпись оставалась.. т.е. метод Free - это класс функция? или она эквивалентна вызову процедуры FREE(myObject)?

Заранее спасибо за ответ)


 
Медвежонок Пятачок ©   (2009-03-12 18:24) [1]

Загляни внутрь и поймешь почему


 
Медвежонок Пятачок ©   (2009-03-12 18:25) [2]

А после заглядывания внутрь FindChildControl посмотри на иерархию предков лэйбла.


 
Leonid Troyanovsky ©   (2009-03-12 18:56) [3]


> Mikle   (12.03.09 18:18)  

> тоже наследник класса TControl, так почему же тогда не находит?

Не там ищем, RTFM: TWinControl.Controls

--
Regards, LVT.


 
Mikle   (2009-03-12 19:01) [4]

хм.. вижу :(
но как же тогда обращаться к лэйблу? можно, конечно, хранить указатель на него, но так не интересно)) судя по тому что я увидел (если конечно туда смотрел) можно заюзать TStaticText вместо лэйбла (кстати я его раньше нигде не встречал..). но всё же) мне уже просто интересно, как же тогда динамически обращаться к наследникам TGraphicControl ???


 
Palladin ©   (2009-03-12 19:03) [5]

от того что он наслежник TGraphicControl наследником от TComponent он быть не перестает

Form1.FindComponent("mycontrol")



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
11-1200031270
armor85
2008-01-11 09:01
2009.04.26
Использование обычного компонента


2-1237270945
b@v
2009-03-17 09:22
2009.04.26
как запретить вводить символы в TEdit


4-1208862881
kalexi
2008-04-22 15:14
2009.04.26
Проблема с SetLayeredWindowAttributes


15-1235079002
Юрий
2009-02-20 00:30
2009.04.26
С днем рождения ! 20 февраля 2009 пятница


2-1236876949
Timur
2009-03-12 19:55
2009.04.26
Сравнение массивов




   Наверх