Форум: "Основная";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];
ВнизError : Control has no parent window Найти похожие ветки
← →
Duce (2002-01-25 14:52) [0]Привет!
Может кто. просветленный разумом, снисходительно пояснит
причины означенной ошибки?
Котекст ошибки такой:
Имеем свой компонент от TPanel. В его конструкторе
диеамически создаем и размещаем еще несколько панелек, в коих
есть TEdit-ы. В завершении конструктора пытаюсь поставит
на TEdit первой встроенной панельки фокус. Компонент компилится,
но при запуске формы, куда вставлен компонент лезет эта ошиба...
При попытке создавать без дизайнера, динамически - то же самое.
Пачему?????
Заранее благодарный...
← →
Дремучий (2002-01-25 16:09) [1]в конструкторе пишешь до SetFocus
Edit1.Parent := self;
и дело в шляпе :)
← →
troits (2002-01-25 16:18) [2]Попробуй использовать для твоего наследника TPanel не Create, когда parent-окно еще не создано, а CreateHandle.
← →
Дремучий (2002-01-25 16:19) [3]2 Duce
>>Может кто просветленный разумом...
Дремучий ;)
← →
Дремучий (2002-01-25 17:01) [4]2 Duce
извини невнимательно прочитал,
нужно
эдиты первой встроенной панели
Edit1.Parent := VstrPanel1;
Edit2.Parent := VstrPanel1;
эдиты второй встроенной панели
Edit3.Parent := VstrPanel2;
Edit4.Parent := VstrPanel2;
← →
Набережных С. (2002-01-25 20:44) [5]Это неправильно в корне, т.к. противоречит самому понятию "фокуса". Если коротко, в момент вызова SetFocus в конце цепочки парентов компонента должна быть форма, есть и другие ограничения. Посмотри исходники SetFocus. В данном случае нужно вызывать SetFocus в обработчике события OnEnter предка компонента.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.02.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c