Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

модификация стандартных компонентов [D7, XP]


Теркин ©   (2013-01-12 15:51:00) 

Уважаемые программисты объясните как сделать так чтобы для компоненты TCheckListBox дополнительно к существующему списку Items добавить объекты TComboBox и сделать их видимыми. Попытка модернизации стандартной компоненты при помощи процедуры

procedure TFHarakteristikaPotrebitel.CLBActivate
                     (var DBGRid:TDBGrid;var CLB:TCheckListBox);
var i:integer;
begin

for i:=0 to dbgrid.Columns.Count -1 do
begin
   clb.Items.AddObject(dbgrid.Columns[i].Title.Caption,TComboBox.Create(clb.Owner)) ;
 (clb.Items.Objects[i] as TComboBox).Parent:=clb.Parent;
 (clb.Items.Objects[i] as TComboBox).Left:=200;
 (clb.Items.Objects[i] as TComboBox).Top:=10+i*10;
  (clb.Items.Objects[i] as TComboBox).Width:=100;
  (clb.Items.Objects[i] as TComboBox).Height:=10;
end;
end;

приводит к нежелательным последствиям. Не все элементы списка TCheckListBox помещаются в окне, появляется элемент прокрутки ScrollBox, а все созданные TComboBox попадают на видимую часть, и видны постоянно так сказать не прячутся


Юрий Зотов   (2013-01-13 22:36:00) [1]

http://warayg.narod.ru/context/prog/Delphi/3/Glava5/Index6.html


Теркин   (2013-01-13 22:27:00) [2]

Спасибо за совет, обязательно попробую опыта применения предложенного Вами компонента вообще никакого признаюсь честно.


Юрий Зотов   (2013-01-13 19:43:00) [3]

Обозначим: ЧБ - строка чекбокса, КБ - строка комбобокса. В TTreeView они могут выглядеть так:

+ЧБ1
|   + КБ11
|   + КБ12
|   ...
|   + КБ1N
|
+ЧБ2
|   + КБ21
|   + КБ22
|   ...
|   + КБ2N
|
...
+ЧБM
   + КБM1
   + КБM2
   ...
   + КБMN

Куда ставить флаг - тоже у TTreeView имеется.


Теркин   (2013-01-13 18:57:00) [4]

В контексте применения TTreeView не подходит. Назначение компонента такое - прочитать все поля базы данных. TComboBox определяет значение поля по умолчанию, TCheckListBox указывает название поля а флаг использовать параметр по умолчанию или нет. Предложенный Вами TTreeView позволит справится с такой задачей?


Юрий Зотов   (2013-01-13 01:47:00) [5]

Не лучше ли просто использовать TTreeView?


Наверх

Титульная страница Поиск, карта сайта Написать письмо