Delphi - Hangjelzés adása, amikor az egér a Form területére ér, vagy elhagyja azt

forráskód letöltése
Példánkban egy olyan új tulajdonsággal ruházzuk fel alkalmazásunk Form-ját, mely abban az esetben ha a felhasználó a Form területe fölé ér az egérrel vagy épp elhagyja ezt a területet, akkor ez két különböző hangjelzést vált ki.
A mellékelt példa futtatása előtt ellenőrizze, hogy az Ön rendszerében a C:\Windows\Media mappában megtalálhatók-e az alkalmazás által használt hangállományok. Amennyiben nem, úgy javítsa az elérési útvonalat.
Megoldáshoz szükségünk lesz arra a két eseményre, mely akkor jön létre, amikor a felhasználó a Form területe fölé ér, illetve elhagyja azt. Ez a két esemény a CM_MOUSEENTER és a CM_MOUSELEAVE lesz. Ezek figyelésére felülírjuk a Form WndProc eljárását. Amikor az üzenetek valamelyike megérkezik, akkor a sndPlaySound függvény hívásával indítjuk el a kívánt hangállomány lejátszását.
procedure TForm1.WndProc(var Message: TMessage);
begin
  inherited;
  case Message.Msg of
    CM_MOUSELEAVE: sndPlaySound('C:\Windows\Media\Chord.wav', SND_ASYNC or SND_NODEFAULT);
    CM_MOUSEENTER: sndPlaySound('C:\Windows\Media\Ding.wav', SND_ASYNC or SND_NODEFAULT);
  end;
end;