Hi Nils,
du kannst auch im Objektinspektor für alle Buttons die gleiche Prozedur einstellen. Dann kann man das ganze auch schön automataisieren.
Nehmen wir an, dass du ein globales eindimensionales Array sounds[] vom Typ PChar hast, in dem alle Dateinamen zu den Sounds gespeichert sind, dann trägst du an jedem Button in der Eigenschaft Tag die Nummer des jeweiligen Sounds ein, unter der er im Array gespeichert is (sieh zu, dass du das Array mit 1 beginnst, 0 ist nämlich die Standardeinstellung für Tag). Dann kannst du folgendes veranstalten:
Code:
type
TMyForm = class(TForm)
private
procedure ButtonSoundOn(Sender: TObject);
procedure ButtonSoundOff(Sender: TObject);
end;
procedure TMyForm.ButtonSoundOn(Sender: TObject);
begin
PlaySound(sounds[TButton(Sender).Tag], 0, SND_FILENAME or SND_ASYNC);
end;
procedure TMyForm.ButtonSoundOff(Sender: TObject);
begin
PlaySound(nil, 0, SND_PURGE);
end;
MfG,
d3g