Главная страница
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.04 c
15-1147762292
pavel_guzhanov
2006-05-16 10:51
2006.06.11
Windows &amp; Linux, переустановка Windows


6-1139390426
Lynx_rus
2006-02-08 12:20
2006.06.11
Выбор Dialap- соеденения


3-1145287275
Рустем
2006-04-17 19:21
2006.06.11
Неправильно осуществляется поиск в таблице...


2-1148458786
Der Nechk@ssoff
2006-05-24 12:19
2006.06.11
Преремотко видео аудио


1-1146816927
гога
2006-05-05 12:15
2006.06.11
Работа с датой