Главная страница
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.47 MB
Время: 0.03 c
9-1116928427
Stupid
2005-05-24 13:53
2005.09.18
Кто нибудь делал mmorpg?


1-1124823535
Korvet
2005-08-23 22:58
2005.09.18
Подключение к сети


3-1123092157
Максим
2005-08-03 22:02
2005.09.18
Транзакции в Ado


3-1122992673
Kuzmich86
2005-08-02 18:24
2005.09.18
FastReport и Halcyon


5-1099825350
проходящий мимо
2004-11-07 14:02
2005.09.18
компонент на основе edit