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

Вниз

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

 
DimaBr   (2005-11-25 08:54) [0]

Компонент содержит суб-компонент, который имеет редактор. Как вынести (вызвать) на поверхность редактор суб-компонента.


 
Юрий Зотов ©   (2005-11-25 15:28) [1]

Вариант 1 - сделать ссылку на подкомпонент published-свойством и написать редактор этого свойства.

Вариант 2 - написать редактор компонента-контейнера, а в одном (или единственном) пункте меню этого редактора вызывать редактор подкомпонента.


 
DimaBr   (2005-11-28 08:30) [2]

Спасибо, огромное, если можно небольшой набросок по Варианту 2.
Как можно вызвать редактор компонента ?


 
Юрий Зотов ©   (2005-11-28 14:54) [3]

Метод ExecuteVerb. Ему передается индекс пункта меню, по которому щелкнул юзер, а дальше - что напишем, то и произойдет. Например, ничто не мешает нашему коду поднять форму редактора подкомпонента:

procedure TMyComponentEditor.ExecuteVerb(Index: Integer);
begin
 if Index = GetVerbCount - 1 then
   with TMySubComponentEditorForm.Create(nil) do
   try
     ... // Настраиваем форму по текущему состоянию подкомпонента
     if ShowModal = mrOK then
       ... // Переносим изменения в подкомпонент
   finally
     Free
   end
 else
   inherited
end;


 
DimaBr   (2005-11-28 17:13) [4]

Это то понятно, редакторы писать я могу. Вопрос в том как вызвать редактор суб компонента ?
Написать
inherited ExecuteVerb(<NNN>), где NNN - номер Popup пункта или 0 (ноль) если его нет. Но это, как мне кажется прокатит только при наследовании компонента от подобного.


 
Юрий Зотов ©   (2005-11-28 18:48) [5]

> DimaBr   (28.11.05 17:13) [4]
> как вызвать редактор суб компонента?

Сначала наваять форму его редактирования, потом см. [3].


 
DimaBr   (2005-11-30 15:51) [6]

> Юрий Зотов ©   (28.11.05 18:48) [5]
> Сначала наваять форму его редактирования, потом см. [3].
Объясняю ситуацию.

Для работы с БД мы используем хранимые процедуры: (Show,Insert, Update, Delete) на каждую таблицу. Это сделано для разделения Клиент-Сервер.
Из приложения процедуры вызываются компонентой TStoredProc (соответственно 4 компоненты). Хранить процедуры в DataModule неудобно, поскольку трудно искать (порядка 200). Получается на главной форме большое скопление НЕвизуальных компонент. Мне пришла идея написать компонент - подобие ActionList для хранения TStoredProc. Написал компонент TStoredProcList и редактор подобный редактору АctionList. Теперь выбирая в редакторе нужную Хр.Процедуру нужно вызвать <Fields Editor> выбранного компонента.



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

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

Наверх




Память: 0.48 MB
Время: 0.035 c
2-1148269241
Raf
2006-05-22 07:40
2006.06.11
ACCESS


1-1146100720
vidiv
2006-04-27 05:18
2006.06.11
Как быстро экспортировать RichEdit в свой формат?


2-1148297951
Николай Владимирович
2006-05-22 15:39
2006.06.11
=> Странная штука с TreeView, не проходи мимо


15-1148138367
ArtemESC
2006-05-20 19:19
2006.06.11
Извините за глупый вопрос по ASM


2-1148143099
rar
2006-05-20 20:38
2006.06.11
повысить скорость поиска файлов