Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #3  
Старый 02.10.2009, 19:27
Nyctos Kasignete Nyctos Kasignete вне форума
Активный
 
Регистрация: 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.

Последний раз редактировалось Nyctos Kasignete, 02.10.2009 в 19:38.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 21:41.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025