![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
модификация стандартных компонентов [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?