Страница 1 из 1
Создание компонента во время работы
Добавлено: 26 июн 2006, 14:07
Dr_Grizzly
Всем привет, ни разу не делал такую вещь, хотя думаю это не сложно, подскажите, у меня есть на форме компонент Комбобокс1 и кнопка, хочу чтоб по кнопке рядом с первым появился еще один бокс, и со списком данных из первого.
Добавлено: 26 июн 2006, 14:30
Blood_Magic
ну это и правда легко
Код: Выделить всё
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure ComboBoxChange(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
fl:boolean;
begin
With TComboBox.Create(Self) do
begin
OnChange:=ComboBoxChange;
fl:=True;
Parent:=Self;
for i:=0 to Self.ComponentCount-2 do
If Self.Components[i] is TComboBox then
begin
If fl then
begin
fl:=False;
Items.Assign(TComboBox(Self.Components[i]).Items);
end;
Top:=TComboBox(Self.Components[i]).Top;
If Left<TComboBox(Self.Components[i]).Left+TComboBox(Self.Components[i]).Width+10 then Left:=TComboBox(Self.Components[i]).Left+TComboBox(Self.Components[i]).Width+10;
end;
end;
end;
procedure TForm1.ComboBoxChange(Sender: TObject);
begin
Caption:=Caption+TComboBox(Sender).Text+', ';
end;
end.
Добавлено: 27 июн 2006, 10:53
Dr_Grizzly
Большое СПАСИБО! Только еще один вопрос, теперь как обращатся к новым компонентам??? Мне теперь нада в Едит1 запихнуть данные выбранные в боксах через запятую.

Добавлено: 27 июн 2006, 12:14
Duncon
Вариантов много самый удобный и простой создать списочек и в нем хранить имена созданных элементов и уже напрямую по имени обращяться...
Добавлено: 27 июн 2006, 14:50
Blood_Magic
[quote="Dr_Grizzly"]Большое СПАСИБО! Только еще один вопрос, теперь как обращатся к новым компонентам??? Мне теперь нада в Едит1 запихнуть данные выбранные в боксах через запятую. ]
смотри последние 5 строчек кода =)
Добавлено: 27 июн 2006, 14:57
Blood_Magic
Duncon писал(а):Вариантов много самый удобный и простой создать списочек и в нем хранить имена созданных элементов и уже напрямую по имени обращяться...
Проще уж создать TList и хранить компоненты а не имена =)
Добавлено: 27 июн 2006, 15:42
Duncon
Вариантов много...