Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.03 c
15-1147822853
Imbac
2006-05-17 03:40
2006.06.11
Сеть


2-1148304847
Gagarin_MSX
2006-05-22 17:34
2006.06.11
Как циклически проследить выполнение?


8-1134483031
calmterror
2005-12-13 17:10
2006.06.11
Визуализация звука


2-1148390088
rra
2006-05-23 17:14
2006.06.11
Заполнение DBLookupComboBox a из поля таблицы...


2-1148583505
Benjamin
2006-05-25 22:58
2006.06.11
pleace help ME!!!!




   Наверх