Tehnika Krstarice > Programiranje > Delphi - Kako dobiti zvuk na događaj "OnMouseOver"

Delphi - Kako dobiti zvuk na događaj "OnMouseOver"

01.03.2001.

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:\Windows\Media\Ding.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".

Preporučite ovaj članak

Članak još uvek nije ocenjen.