![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
![]()
Подскажите пожалуйста, например нужно создать компонент на основе panel, на ней расположить 2 панели но у которых обрабатывается mouseenter mouseleave. Я тут по быстрому написал код чтоб понятнее было о чем я
Код:
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
|
![]() |
![]() |
![]() |
#2 |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
![]()
Забыл написать процедуры обработки mouseenter и mouseleave, но это не важно, вопрос не в этом заключается.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
|
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]()
У Вас форма является владельцем объектов D8CustomPanel1/D8CustomPanel2. Поэтому эти компоненты тоже пишутся в .dfm. Чтобы их считать нужен класс, а он не зарегистрирован.
Это причина ошибки. Но это не все. Можно, конечно зарегистрировать класс. Он будет читаться. Но догда в Design time можно будет легко удалить любую из панелей, которые вроде-бы объявлены private. Еще будут проблемы с лишними вызовами Create, но не буду углубляться. Можно сделать по другому. Убрать владение и удалять панели самому. Код:
А вообще то, что Вы пытаетесь сделать не простая задача. Посмотрите VCL - как со своими страницами управляется TPageControl. Я бы не стал морочить голову, а создал этот компонент в run-time. ------------------ Еще вариант. Обрабатывать момент вставки/удаления компонента TD8Skn на форму (в design-time) и там создавать/удалять панели TD8CustomPanel. Там же можно будет запомнить ссылки на них и работать с этими ссылками. TD8CustomPanel придется тоже сделать компонентом и зарегистрировать. Последний раз редактировалось alexBlack; 20.12.2008 в 14:48. |
![]() |
![]() |
![]() |
#4 |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
![]()
Спасибо за ответ, я написал код чтоб просто было понятно о чем я, на самом деле вместо главной панели не визуальный компонент. А дополнительные панели ставятся на форму. Если можно как-то сделать что б они ставились не во время скидывания компонента на форму, а во время запуска программы и без всяких ошибок то подскажите как это сделать. Может пример где есть или статья, я не нашел.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
|
![]() |
![]() |
![]() |
#5 | |
Участник клуба
Регистрация: 12.10.2007
Сообщений: 1,204
|
![]() Цитата:
Код:
|
|
![]() |
![]() |
![]() |
#6 |
Бредовый
Форумчанин
Регистрация: 15.11.2008
Сообщений: 285
|
![]()
Спасибо. Мне б статью почитать какую-нибудь про создание компонент внутри компонент.
Чем точнее и проще задан вопрос, тем проще на него получить точный ответ.
|
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 29.01.2008
Сообщений: 2,406
|
![]() Цитата:
![]() |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
как в Делфи создать кнопочку "ОК". подробности внутри темы.... | Кристина2008 | Общие вопросы Delphi | 2 | 09.12.2008 22:49 |
Heeelp! kak создать класс? | AndreyN | Общие вопросы C/C++ | 2 | 08.10.2008 14:49 |
Как программно удалить компонент от формы или другого компонента (контейнера)? | SkAndrew | Общие вопросы Delphi | 3 | 27.05.2008 15:20 |
создать свойство компонента | дядя | Компоненты Delphi | 2 | 11.05.2008 23:23 |
Создать класс – треугольник, заданный своими координатами (точками). | jenja | Общие вопросы Delphi | 5 | 18.04.2008 07:50 |