Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Создание нового компонента на основе 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) еще нет


Наверх

Титульная страница Поиск, карта сайта Написать письмо