
01.09.2012, 23:41
|
Модератор
|
|
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
|
|
Цитата:
Сообщение от angvelem
Изучаем свойство Tag компонентов + ComponentCount.
|
Вообще-то, для этого лучше кнопки создавать динамически.
Код:
var // или в классе
ButtonMatrix : Array [1..6,1..21] Of TButton;
procedure TForm1.FormCreate(Sender : TObject);
var
I, J : Integer;
begin
For I := 1 To 6 Do
For J := 1 To 21 Do
Begin
ButtonMatrix[I,J] := TButton.Create(Self);
ButtonMatrix[I,J].Top := (I-1) * 24;
ButtonMatrix[I,J].Left := (J-1) * 32;
ButtonMatrix[I,J].Width := 28;
ButtonMatrix[I,J].Height :=16;
ButtonMatrix[I,J].Caption := Format('%d %d',[I,J]);
ButtonMatrix[I,J].Tag := I*1000 + J; // Комбинированный идентификатор
ButtonMatrix[I,J].OnClick := MyClick;
End;
end;
procedure TForm1.MyClick(Sender : TObject);
var
I, J : Integer;
begin
If (Sender Is TButton) Then
If (Sender As TButton).Tag > 0 Then
Begin
I := (Sender As TButton).Tag div 1000;
J := (Sender As TButton).Tag mod 1000;
ButtonMatrix[I,J].Caption := Format('%d %d *',[I,J]);
End;
end;
При нажатии кнопки в ее заголовок добавляется '*'.
|