На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Обязательно выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.

Этот раздел предназначен для вопросов, посвященных разработке компонентов, а также для тестирования собственных бесплатных компонентов с открытым исходным кодом.

Здесь запрещается:
1. Размещать ссылки на какие-либо коммерческие компоненты, реализующие требуемую функциональность.
2. Обсуждать и тестировать коммерческие компоненты или компоненты с закрытым кодом.
3. Давать ссылки на сайты с исходным кодом компонентов. Все тестируемые исходные коды должы быть размещены на сайте ИСХОДНИКИ.RU.
Модераторы: Rouse_, DimaBr
  
> Имя компонента во время дизайна , Список компонент для выбора
    У меня следующий вопрос:
    1) Имеется компонент, который является производным от TComponent, назовем его TModule
    2) Имеется компонент TSignal, одним из полей которого, является TModule.
    Это поле доступно через свойство в разделе published

    ExpandedWrap disabled
        TModule = class(TComponent)
         ...
        end;
       
        TSignal = class(TCustomLabel)
        private
          FModule:TModule;
          procedure SetModule(Val:TModule);
        published
          property Module:TModule read FModule write SetModule;
        end;


    Во время дизайна, если я хочу назначить экземпляру класса TSignal свойство Module,
    среда IDE предлагает список доступных объектов класса TModule в виде ComboBox.
    В этом списке отражены свойства Name соответствующих объектов.
    А можно ли сделать так, чтобы при составлении этого списка использовалось не свойство Name,
    а какое-либо другое???
      Надо создать и зарегистрировать редактор свойств для типа TModule.
      А этот редактор уже сам будет заполнять выпадающий список.
        наследуй свой редактор от TComponentProperty(модуль DesignEditors) и перекрой в нем метод GetValues
        Обрати внимание на методы IDesigner60.GetComponentNames и IDesigner60.GetComponent

        Добавлено
        а. Ну да, еще те нужно будет перекрыть GetValue и SetValue ;)
        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
        0 пользователей:


        Рейтинг@Mail.ru
        [ Script execution time: 0,0243 ]   [ 16 queries used ]   [ Generated: 3.05.24, 19:21 GMT ]