Delphi – Kako dobiti zvuk na događaj „OnMouseOver“

Da bi vaše aplikacije bile atraktivnije, sa više multimedije, možete ih obogatiti sa zvukom koji će da se aktivira na „OnMouseOver“ događaj. Najčešće ćemo ovaj zvuk dodati dugmadima, da bi na taj način obavestili korisnika programa da se ispod pokazivača miša nalazi objekat, na čiji klik se dešava neka akcija. Pokrenućemo Delphi i novi projekt.

Postavite na formu samo jedno dugme (Button1) i iskopirajte sledeći kod:


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes,
Graphics, Controls, Forms, Dialogs,
StdCtrls, MMSystem;

type
TForm1 = class(TForm)
Button1: TButton;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure WndProc(var Message : TMessage); override;
public
{ Public declarations }
end;

var
Form1: TForm1;
ZvucniFajl : String;

implementation

{$R *.DFM}

procedure TForm1.WndProc(var Message : TMessage);
begin
if Message.LParam = Longint(Button1) then
begin
if (Message.Msg = CM_MOUSELEAVE) then
sndPlaySound(nil, snd_Async or snd_NoDefault);
if (Message.Msg = CM_MOUSEENTER) then
sndPlaySound(pchar(ZvucniFajl), snd_Async or snd_NoDefault);
end;
inherited WndProc(Message);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
ZvucniFajl := ‘C:WindowsMediaDing.wav’;
end;

end.


Kao što možete i videti, koristimo proceduru za „hvatanje“ Windows poruka (WndProc), da bi „odsvirali“ neki zvuk (sndPlaySound). Kada je poslata poruka vezana za „Button1„, i kada je ona CM_MOUSEENTER „odsvira“ se zvučni fajl iz varijable „ZvucniFajl„.

Pratite Krstaricu na www.krstarica.com