Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Компоненты";
Текущий архив: 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
2-1123913161
Гость22
2005-08-13 10:06
2005.09.18
Как, зная начальную дату и колличество месяцев, определить...


2-1123601748
Koala
2005-08-09 19:35
2005.09.18
Помогите правильно составить запрос.... FB 1.5


14-1124489428
TG
2005-08-20 02:10
2005.09.18
КОМПИЛЯТОР


14-1124648728
Knight
2005-08-21 22:25
2005.09.18
Где можно взять нормальный nConvers для миранды?


11-1107177249
hunn
2005-01-31 16:14
2005.09.18
Модальная форма на чистом KOL





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