
02.10.2009, 19:27
|
Активный
|
|
Регистрация: 29.03.2009
Сообщения: 300
Репутация: 94
|
|
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
ComboBox1: TComboBox;
ComboBox2: TComboBox;
ComboBox3: TComboBox;
ComboBox4: TComboBox;
ComboBox5: TComboBox;
ComboBox6: TComboBox;
ComboBox7: TComboBox;
ComboBox8: TComboBox;
ComboBox9: TComboBox;
ComboBox10: TComboBox;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure ComboBoxesChange(Sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
const
COMBOBOXCOUNT = 10; // общее количество ComboBox
implementation
{$R *.dfm}
procedure TForm1.ComboBoxesChange(Sender: TObject);
var
cbTag: Integer;
cb: TComponent;
begin
cbTag := (Sender as TComponent).Tag + 1;
cb := FindComponent('ComboBox' + IntToStr(cbTag));
if cb = nil then Exit;
with (cb as TComboBox) do
if (Sender as TComboBox).Text = '' then
begin
Text := '';
OnChange(cb);
Visible := False;
end
else Visible := True;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
i: Integer;
cb: TComponent;
begin
for i := 1 to COMBOBOXCOUNT do
begin
{ Все ComboBox имеют имя вида ComboBoxn, где n — номер по порядку }
cb := FindComponent('ComboBox' + IntToStr(i));
cb.Tag := i;
(cb as TComboBox).Visible := False;
(cb as TComboBox).OnChange := ComboBoxesChange;
end;
ComboBox1.Visible := True;
end;
end.
|