Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Переопределение свойства Strings  (Прочитано 5286 раз)
0 Пользователей и 1 Гость смотрят эту тему.
eugrita
Помогающий

ru
Offline Offline

« : 05-04-2010 12:44 » 

Возможно ли переопределение  свойства Strings используемого например
в классах TListBox, TCombobox?

Если возможно, то что надо делать?
Писать класс наследник от TListBox?
Но ведь он имеет свойство Items, а свойство-массив Strings - свойство
 не TListBox, а Items
Такая попытка Писать класс наследник от TListBox  
type
  TRec=record
    N: Integer;
    txt1: ShortString;
    txt2: ShortString;
  end;
  TLB_List = class(TListBox)
  protected
   function GetItms : TRec; procedure SetItms(val: Trec);
 public
   property Items:TRec read GetItms   write SetItms;
  constructor Create(aOwner: Tcomponent); override; //Êîíñòðóêòîð
 end;
приводит лишь к тому что при вызове экземпляра класса
lм:=TLB_List.Create(Form1);
мы не можем обратиться как ранее скажем  lv.Items.Strings
а только lv.Items
может пойти на объявление Items свойством-массивом типа TRec ?
(тогда хотя старое Items.Strings будет недоступно, все равно будем пользоваться
списком как массивом.) Хотелось бы еще чтобы при добавлении/удалении
сохранялись визуальные свойства нового списка
« Последнее редактирование: 05-04-2010 12:46 от eugrita » Записан
zubr
Гость
« Ответ #1 : 05-04-2010 14:43 » 

Цитата
может пойти на объявление Items свойством-массивом типа TRec ?
(тогда хотя старое Items.Strings будет недоступно, все равно будем пользоваться
списком как массивом.) Хотелось бы еще чтобы при добавлении/удалении
сохранялись визуальные свойства нового списка
Не прокатит. Если тебе надо получить свойство-список, члены которого имеют тип TRec, то создай свой класс на базе к примеру TList или TObjectList, элементами которого будут объекты типа TRec. А затем уже переопределяй свойство Items своим классом-списком.
Записан
eugrita
Помогающий

ru
Offline Offline

« Ответ #2 : 05-04-2010 14:59 » 

Все-то хорошо, только TList - не визуальный класс. А хочется визуальный
похожий на TlistBox но у которого - каждая строка не String а типа записи (как у меня TRec)
Т.е он должен смотреться скорее как StringGrid без заголовков).
И чтоб были методы доступа типа Add, Insert, Delete, и типа Items.Strings как в традиционном Listbox
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #3 : 05-04-2010 17:47 » 

напишите свой TList, а потом наследуйтесь от TCustomGrid и инкапсулируйте в него свой класс.
Записан

Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines