Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.18;
Скачать: CL | DM;

Вниз

PropertyEditor, paSubProperties   Найти похожие ветки 

 
Kair ©   (2004-11-02 09:42) [0]

Как сделать PropertyEditor свойства, чтобы свойство было со знаком "+" в ObjectInspector?
В справке написано, что надо переписать метод GetAttributes так
function GetAttributes: TPropertyAttributes;
begin
Result := [paSubProperties];
end;
А вот дальше в справке написано, что надо еще переписать метод procedure GetProperties(Proc: TGetPropProc); Только вот я не знаю, что там надо написать... И у меня получается, если не переписывать этот метод, то, что в ObjectInspector плюс рисуется, и по нажатию на него вместо "+" рисуется "-", но подсвойств не видно...


 
code2k ©   (2004-11-02 10:15) [1]

TCurentRowStyle = class(TPersistent)
 private
   FControl: TControl; // Grid Control
   FOnChange: TNotifyEvent;
   FColor: TColor;
   FUseColor: Boolean;
   procedure SetColor(const Value: TColor);
   procedure SetUseColor(const Value: Boolean);
 protected
   procedure Change; dynamic;
   property Control: TControl read FControl;
 public
   constructor Create(Control: TControl); virtual;
   property OnChange: TNotifyEvent read FOnChange write FOnChange;
 published
   property Color: TColor read FColor write SetColor default clNone;
   property UseColor: Boolean read FUseColor write SetUseColor default False;
 end;

 TCustomGridMy = class(TCustomControl)
 private
   FCurentRowStyle: TCurentRowStyle;
   procedure SetCurentRow(const Value: TCurentRowStyle);
 protected
 public
 published
   property CurentRowStyle: TCurentRowStyle read FCurentRowStyle write SetCurentRow;
 end;


 
Юрий Зотов ©   (2004-11-02 12:59) [2]

> code2k ©   (02.11.04 10:15) [1]

Извините, а какое же это имеет отношение к сабжу?

> Kair ©   (02.11.04 09:42)

Если Ваш объект является потомком TPersistent (но не TComponent) и его нужные свойства (не поля, а именно свойства) находятся в секции published, то после включения paSubProperties плюсик будет работать правильно сам по себе и список свойcтв тоже появится сам по себе (а если это все же не так, значит, что-то сделано неверно и нужно видеть код).

Если же хотя бы одно из этих двух условий не выполняется, то придется делать список ручками. Как именно - посмотрите в коде TClassProperty.GetProperties.


 
code2k ©   (2004-11-03 18:52) [3]


> Юрий Зотов ©   (02.11.04 12:59) [2]

По просьбе автора вопроса, перенесено из чата.
Сори, если не по теме, мы сначала не поняли друг друга, о чем ведем речь.


 
jack128 ©   (2004-11-03 19:01) [4]

Юрий Зотов ©   (02.11.04 12:59) [2]
Извините, а какое же это имеет отношение к сабжу?


Как это какое?? Это же как раз илюстрация вашего поста, о том какие условия должны выполняться, чтобы "плюсик" работал сам по себе ;-)



Страницы: 1 вся ветка

Текущий архив: 2005.09.18;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.061 c
14-1124563318
uw
2005-08-20 22:41
2005.09.18
Не могу выйти в Internet со второго компьютера


1-1125042779
VID
2005-08-26 11:52
2005.09.18
Как узнать в какой кодировке находится текст в файле.


1-1124834927
Сергей Никонов
2005-08-24 02:08
2005.09.18
Разресовка FileListBox а


1-1124871313
Заур
2005-08-24 12:15
2005.09.18
Перечисление компонентов


9-1116839722
Шухрат
2005-05-23 13:15
2005.09.18
плагины unwrap3d 2.15