![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вызвать редактор сабкомпоненты
--= Eagle =-- © (2006-11-22 14:39:00)Как вызвать из своего редактора компоненты редактор выделенной компоненты? После того, как я захожу в редактор главной компоненты, я могу просто выбрать любую комопненту, и теперь мне нужно зайти в редактор сабкомпоненты - я делаю даблклик на нужной компоненте, но только выхожу из редактора главной компоненты. Аналогичного результата добиваюсь если жму правой кнопкой на основной компоненте - да, меню я получаю, но это меню главной компоненты, которая уже не находится в режиме редактирования. Правда, если нажать на клавиатуре кнопку "Меню" - всё гуд, я получаю редактор нужной компоненты.
Но так как компонента у меня всего одна (во всяком случае пока), то думаю достаточно просто вызвать каким-то образом её редактор компоненты. Не подскажете, как это сделать?
DimaBr (2006-11-22 16:47:00) [1]
> в юните-рагистраторе в initialization прописываю RegisterClass(TMyClass)
Не в юните-регистраторе, а в юните с описание компонента
DimaBr (2006-11-22 16:45:00) [2]
> что я сделал для того, чтобы оно сохранялось
Это не для того чтобы сохранялось, а для того чтобы не выскакивало сообщение "Class not found"
Чтобы сохранять нужно GetChildren переписать
--= Eagle =-- (2006-11-22 16:43:00) [3]Хотя нет, второй вопрос явный оффтоп и я уже понял, что был неправ :) Спасибо за помощь ещё раз!
--= Eagle =-- (2006-11-22 16:34:00) [4]1. Спасибо, это помогло
2. Да там указывать нечего. Всё, что я сделал для того, чтобы оно сохранялось - в юните-рагистраторе в initializationпрописываю RegisterClass(TMyClass), а в классе самой компоненты добавляю FRegister: Boolean, в конструкторе после inheritedдобавляю:
if not FRegister then
begin
fRegister:= true;
RegisterClass(TMyClass);
end;
DimaBr (2006-11-22 15:44:00) [5]1. поробуйте Designer.Edit(Component) или что то типа [106] http://www.delphimaster.ru/cgi-bin/forum.pl?id=1157851665&n=12
2. Компонента не сохраняется по разным причинам, кои вы не указали.
(Каким образом вы создаёте втроенные компонент, каки образом пытаетесь сохранить.....). Повторяю ещё раз - возьмите за основу тот код и не мучайтесь. Регистрация нужна потому что на момент создания компоненты (при чтения из ресурса DFM) должен быть зарегистрирован её класс в системе.
--= Eagle =-- (2006-11-22 15:05:00) [6]Кстати, вдогонку: почему-то не сохраняется внутренняя компонента. Хотя она и зарегистрирована в панели компонент, а также я сделал для неё то же, что и здесь: http://www.delphimaster.ru/cgi-bin/forum.pl?id=1163604047&n=12советовал DimaBr.