![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Создание нового компонента на основе TListBox [D6, Win95/98]
Sewix © (2002-10-09 08:04:00)в конструкторе задаю начальные значения items.strings.add; ставлю компонент а он пишет "Control "has no parent window " в чем проблема наследования класса и как с этим бороться
REA (2002-10-09 10:46:00) [1]А зачем оно это делает? Для невизуальных компонентов еще можно понять, а тут то надо свойства выставлять. Кстати HandleNeeded в некоторых случаях (не говорю об окнах) не виртуальный метод и создать нужный Handle довольно проблематично, кроме как принудительно его присвоить.
gek (2002-10-09 09:37:00) [2]> Юрий Зотов © (09.10.02 09:18)
Честно говоря об этом понятия не имел.
Всегда думал, что именно в CreateWnd
Юрий Зотов (2002-10-09 09:18:00) [3]> Да откуда в конструкторе окно?
Вообще говоря, это возможно. Дело в том, что в ряде случаев код VCL создает окно при первом обращении к свойству Handle, даже если метод CreateWnd еще не был вызван.
Но не всегда. В частности, TListBox к таким случаям не относится.
gek (2002-10-09 09:10:00) [4]Да откуда в конструкторе окно?
MBo (2002-10-09 09:06:00) [5]>Bsl
Пробовал?
Bsl (2002-10-09 08:59:00) [6]Можно и в конструкторе, но после "inherited Create;"
MBo (2002-10-09 08:07:00) [7]Делай это не в конструкторе, а в перекрытом CreateWnd, поскольку в Create дескриптора окна (и соответственно списка строк, предоставляемого Windows) еще нет