Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.10.2010, 18:23
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
Сообщение Object Inspector вложенность

Всем привет. Я пишу компонент. И у меня есть вопрос. Как сделать такой property что бы он в Object Inspector'е отображался как вложенный?(с плюсиком +). Например у формы это Anchors и Constraints.
Ответить с цитированием
  #2  
Старый 23.10.2010, 18:41
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Так и посмотри там пример. Мне кажется, это record...
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 23.10.2010, 18:54
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 660
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

Неа....не рекорд. Это свойство определенного класса. Стоит посмотреть реализацию любого компонента и обратить внимание на свойство Font.
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
  #4  
Старый 23.10.2010, 19:50
Аватар для ryderx34
ryderx34 ryderx34 вне форума
Активный
 
Регистрация: 22.01.2010
Сообщения: 211
Версия Delphi: 7, 2010
Репутация: 1349
По умолчанию

это класс на основе TPersistent
делается примерно так:
Код:
TMyProperty = class(TPersistent)
private
  FValue1: Integer;
  FValue2: Integer;
published
  property Value1: Boolean read GetValue1 write SetValue1;
  property Value2: Boolean read GetValue2 write SetValue2;
end;
когда я делал такой класс, то читать/записывать переменные напрямую у меня не получилось, пришлось делать для каждой переменной процедуры чтения/записи:
Код:
function TMyProperty.GetValue1: Integer;
begin
  Result := FValue1;
end;

procedure TMyProperty.SetValue1(Value: Integer);
begin
  FValue1 := Value;
end;
потом укажи этот класс в описании компонента:
Код:
TMyComponent = class(TGraphicControl)
private
   FMyProperty: TMyProperty;
published
   property MyProperty: TMyProperty read FMyProperty write FMyProperty;
end;
обязательно создай этот класс в конструкторе компонента:
Код:
constructor TMyComponent.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
FMyProperty := TMyProperty.Create;
end;
и уничтожь его в деструкторе

Последний раз редактировалось ryderx34, 23.10.2010 в 22:10.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 15:21.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter