Ein kleines Komplettbeispiel:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 =
class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
procedure MakeAllOtherButtonsInvisible(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
ButtonCount: integer = 9;
implementation
{$R *.dfm}
procedure TForm1.MakeAllOtherButtonsInvisible(Sender: TObject);
var
a: integer;
begin
for a := 1
to ButtonCount
do // ButtonCount gibt die Anzahl deiner Buttons an
if not (TButton(FindComponent('
Button'+inttostr(a))) = Sender)
then
TButton(FindComponent('
Button'+inttostr(a))).visible := false;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
a: integer;
begin
for a := 1
to ButtonCount
do
TButton(FindComponent('
Button'+inttostr(a))).OnClick := MakeAllOtherButtonsInvisible;
end;
end.
In dem Beispiel habe ich 9 Buttons. Diesen wird allen die gleichen OnClick-Routine zugeweisen, nämlich MakeAllOtherButtonsInvisible. In dieser werden dann einfach an Hand von ButtonCount alle Buttons durchlaufen und, sofern sie nicht der Auslöser des Click-Events sind, unsichtbar gemacht.