Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Пользователь


Сообщения: 76
Благодарности: 2

Профиль | Отправить PM | Цитировать


Блин, я сам всех и себя запутал. Вообщем есть скрипт Button Sound
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.
LicenseFile=compiler:License.txt

[Files]
Source: UI\buttonclick.WAV; Flags: dontcopy
Source: UI\buttonclickrelease.WAV; Flags: dontcopy
Source: UI\buttonrollover.WAV; Flags: dontcopy

[ Code]
function sndPlaySound(lpszSoundName: AnsiString; uFlags: cardinal): Integer; external 'sndPlaySoundA@winmm stdcall delayload'; /// функция проигрывания звука

procedure PlaySoundOnEnter(Sender: TObject); /// процедура при наведении
begin
  sndPlaySound(ExpandConstant('{tmp}\buttonrollover.WAV'),$0001);
end;

procedure PlaySoundOnMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);  /// при нажатии кнопки
begin
  sndPlaySound(ExpandConstant('{tmp}\buttonclick.WAV'),$0001);
end;

procedure PlaySoundOnMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);  /// при отпускании кнопки
begin
  sndPlaySound(ExpandConstant('{tmp}\buttonclickrelease.WAV'),$0001);
end;

procedure InitializeWizard;
begin
  ExtractTemporaryFile('buttonclick.WAV'); /// функцией ExtractTemporaryFile извлекаем файл во временную папку - при нажатии кнопри паши по контролу (не путать с кликом)
  ExtractTemporaryFile('buttonclickrelease.WAV'); /// при отпускании кнопки мыши с контрола
  ExtractTemporaryFile('buttonrollover.WAV');  /// при наведении

  with WizardForm do
  begin
    with NextButton do
    begin
      OnMouseEnter := @PlaySoundOnEnter;
      OnMouseDown := @PlaySoundOnMouseDown;
      OnMouseUp := @PlaySoundOnMouseUp;
    end;

    with BackButton do
    begin
      OnMouseEnter := NextButton.OnMouseEnter;
      OnMouseDown := NextButton.OnMouseDown;
      OnMouseUp := NextButton.OnMouseUp;
    end;

    with CancelButton do
    begin
      OnMouseEnter := NextButton.OnMouseEnter;
      OnMouseDown := NextButton.OnMouseDown;
      OnMouseUp := NextButton.OnMouseUp;
    end;

    with DirBrowseButton do
    begin
      OnMouseEnter := NextButton.OnMouseEnter;
      OnMouseDown := NextButton.OnMouseDown;
      OnMouseUp := NextButton.OnMouseUp;
    end;

    with GroupBrowseButton do
    begin
      OnMouseEnter := NextButton.OnMouseEnter;
      OnMouseDown := NextButton.OnMouseDown;
      OnMouseUp := NextButton.OnMouseUp;
    end;
  end;
end;
Как мне сделать звук при наведении и при нажатии у компонентов, без ботвы?

Отправлено: 18:58, 13-08-2013 | #1007