Главная страница
    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.014 c
2-1148035612
Elen
2006-05-19 14:46
2006.06.11
Переопределение процедур меню другой программы


15-1147629954
Imbac
2006-05-14 22:05
2006.06.11
Определить что на фотографии человек или машина


2-1148379837
VitV
2006-05-23 14:23
2006.06.11
DBDatetimeEditEh.text:=datetostr(now);-проблема.


2-1148537675
alec_sey
2006-05-25 10:14
2006.06.11
Массивы


2-1148761865
Yegorchic
2006-05-28 00:31
2006.06.11
Уменьшение размера JPEG файла





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский