Форум: "Компоненты";
Текущий архив: 2005.09.18;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c