Jak sprawdzić który Button naciśnięto
Przyjmijmy, że mamy 100 komponentów Button i chcemy po naciśnięciu coś sprawdzić itp.
Najlepszym sposobem jest wykonanie rzutowania. Wszystkim Buttonom przypisujemy jedno zdarzenie do OnClick. Piszemy:
Od tej chwili ButtonName przechowuje nazwę klikniętego Buttona.
Można też użyć wartości Tag komponentu. Nie ma on żadnego wpływu na działanie programu, więc można go ustawić do identyfikacji Buttona. I tak ustawiamy dla Button1 Tag 1, dla Button2 Tag 2 itd.
Potem Tag uzyskuje się w ten sposób:
Źródło: http://download.microsoft.com/[...]28-a444-309e140713dd/forms.doc
Najlepszym sposobem jest wykonanie rzutowania. Wszystkim Buttonom przypisujemy jedno zdarzenie do OnClick. Piszemy:
procedure TForm1.ButtonClick(Sender: TObject); var btn: TButton; ButtonName: String; begin btn := TButton(Sender); //rzutujemy TObject na TButton ButtonName := btn.Name; //przypisujemy nazwę klikniętego end;
Od tej chwili ButtonName przechowuje nazwę klikniętego Buttona.
Można też użyć wartości Tag komponentu. Nie ma on żadnego wpływu na działanie programu, więc można go ustawić do identyfikacji Buttona. I tak ustawiamy dla Button1 Tag 1, dla Button2 Tag 2 itd.
Potem Tag uzyskuje się w ten sposób:
jakaś_tam_wartość_identyfikująca_przycisk := TButton(Sender).Tag;
Źródło: http://download.microsoft.com/[...]28-a444-309e140713dd/forms.doc