Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.16;
Скачать: CL | DM;

Вниз

Вызвать редактор сабкомпоненты   Найти похожие ветки 

 
--= Eagle =-- ©   (2006-11-22 14:39) [0]

Как вызвать из своего редактора компоненты редактор выделенной компоненты? После того, как я захожу в редактор главной компоненты, я могу просто выбрать любую комопненту, и теперь мне нужно зайти в редактор сабкомпоненты - я делаю даблклик на нужной компоненте, но только выхожу из редактора главной компоненты. Аналогичного результата добиваюсь если жму правой кнопкой на основной компоненте - да, меню я получаю, но это меню главной компоненты, которая уже не находится в режиме редактирования. Правда, если нажать на клавиатуре кнопку "Меню" - всё гуд, я получаю редактор нужной компоненты.
Но так как компонента у меня всего одна (во всяком случае пока), то думаю достаточно просто вызвать каким-то образом её редактор компоненты. Не подскажете, как это сделать?


 
--= Eagle =-- ©   (2006-11-22 15:05) [1]

Кстати, вдогонку: почему-то не сохраняется внутренняя компонента. Хотя она и зарегистрирована в панели компонент, а также я сделал для неё то же, что и здесь: http://delphimaster.net/view/5-1163604047/ советовал DimaBr.


 
DimaBr   (2006-11-22 15:44) [2]

1. поробуйте Designer.Edit(Component) или что то типа [106] http://delphimaster.net/view/5-1163604047/
 
2. Компонента не сохраняется по разным причинам, кои вы не указали.
(Каким образом вы создаёте втроенные компонент, каки образом пытаетесь сохранить.....). Повторяю ещё раз - возьмите за основу тот код и не мучайтесь. Регистрация нужна потому что на момент создания компоненты (при чтения из ресурса DFM) должен быть зарегистрирован её класс в системе.


 
--= Eagle =-- ©   (2006-11-22 16:34) [3]

1. Спасибо, это помогло

2. Да там указывать нечего. Всё, что я сделал для того, чтобы оно сохранялось - в юните-рагистраторе в initialization прописываю RegisterClass(TMyClass), а в классе самой компоненты добавляю FRegister: Boolean, в конструкторе после inherited добавляю:
if not FRegister then
begin
  fRegister:= true;
  RegisterClass(TMyClass);
end;


 
--= Eagle =-- ©   (2006-11-22 16:43) [4]

Хотя нет, второй вопрос явный оффтоп и я уже понял, что был неправ :) Спасибо за помощь ещё раз!


 
DimaBr   (2006-11-22 16:45) [5]


>  что я сделал для того, чтобы оно сохранялось

Это не для того чтобы сохранялось, а для того чтобы не выскакивало сообщение "Class not found"
Чтобы сохранять нужно GetChildren переписать


 
DimaBr   (2006-11-22 16:47) [6]


> в юните-рагистраторе в initialization прописываю RegisterClass(TMyClass)

Не в юните-регистраторе, а в юните с описание компонента



Страницы: 1 вся ветка

Текущий архив: 2007.12.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
2-1195631886
DukeArtem
2007-11-21 10:58
2007.12.16
ReadOnly для переменной


2-1195560917
_ant_
2007-11-20 15:15
2007.12.16
проблема с большими числами


2-1195720465
sia
2007-11-22 11:34
2007.12.16
Все события прекращены?


6-1175695239
Мимопроходящий
2007-04-04 18:00
2007.12.16
Как загрузить текстовый файл в мемо?


2-1195648487
kudatsky
2007-11-21 15:34
2007.12.16
Ограничение на количество открытых DBF-файлов