Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 2006.06.11;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.012 c
9-1131353827
Med
2005-11-07 11:57
2006.06.11
ошибка компиляции проги с компонентами GLScene


4-1142791086
Alex_PP
2006-03-19 20:58
2006.06.11
Как преоброзовать HWND в String ?


2-1148062809
DuDiDan
2006-05-19 22:20
2006.06.11
База Данных


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


15-1147860109
ЛшдлуттнСфе
2006-05-17 14:01
2006.06.11
Гаубица. Возможное и невозможное.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский