![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Клик для кнопки [D7, XP]
AlexDan © (2009-03-31 11:06:00)Делаю так: PlaySound(PChar('SYSTEMHAND'), 0, snd_Async); Вроде должен кликать, звучит совсем по другому..Что не так?
AlexDan (2009-04-01 17:10:00) [1]> Anatoly Podgoretsky © (01.04.09 15:40) [21]
Я просто за публикацию поблагодарить..)). http://compfaq.ru/Question.aspx?id=82ad33aa-33bf-42fe-a005-6b616628abb5
Заработало всё.
Anatoly Podgoretsky (2009-04-01 15:40:00) [2]
> А на сколько атавизм? Просто, интересно...
На 100% аттавизм
AlexDan (2009-04-01 13:23:00) [3]Наверно, идти на винград..
AlexDan (2009-04-01 12:58:00) [4]> Сергей М. © (01.04.09 12:47) [18]
Из этого делаю глубокомысленный вывод, что ситуация скорее всего (99% вероятности) сложилась в пользу FALSE. Возник встречный вопрос 'Что делать'..))?
Сергей М. (2009-04-01 12:47:00) [5]Return Values
Returns TRUE if successful or FALSE otherwise.
Remarks
The sound specified by pszSound must fit into available physical memory and be playable by an installed waveform-audio device driver. PlaySound searches the following directories for sound files: the current directory; the Windows directory; the Windows system directory; directories listed in the PATH environment variable; and the list of directories mapped in a network. For more information about the directory search order, see the documentation for the OpenFile function.
If it cannot find the specified sound, PlaySound uses the default system event sound entry instead. If the function can find neither the system default entry nor the default sound, it makes no sound and returns FALSE.
AlexDan (2009-04-01 12:40:00) [6]Странно, вроде всё сделал правильно, но что-то не работает:
XPMC.rc файл, в нём написал: XPMC RCDATA LOADONCALL XPMC.wav
сделал XPMC.RES (brcc32.exe).
Подключаю:
{$R *.dfm}
{$R XPMC.res}
procedure TForm1.Button1Click(Sender: TObject);
begin
PlaySound('XPMC', hInstance, SND_RESOURCE or SND_ASYNC);
end;
и ничего, что не так?(XPMC.wav-звук клика)
Сергей М. (2009-04-01 09:39:00) [7]
> сделал файл click.rc. Написал там
> click RCDATA LOADONCALL click.wav
Теперь просто подключи этот файл к проекту.
MonoLife (2009-04-01 07:12:00) [8]
> Anatoly Podgoretsky © (31.03.09 15:08) [12]
> это аттавизм,
А на сколько атавизм? Просто, интересно...
А то я на D7 ресурсы компилил прежде в *.res ))
Anatoly Podgoretsky (2009-03-31 15:47:00) [9]Я неуверен за твой компилятор. А делает просто, точно также как и с формами, абсолютно никакой разницы.
AlexDan (2009-03-31 15:18:00) [10]> Anatoly Podgoretsky © (31.03.09 15:08) [12]
это как делается..?
Anatoly Podgoretsky (2009-03-31 15:08:00) [11]> AlexDan (31.03.2009 14:35:11) [11]
brcc32 не нужен, это аттавизм, достаточно подключить click.rc к проекту, остальное автоматом.
AlexDan (2009-03-31 14:35:00) [12]> Сергей М. © (31.03.09 14:23) [9]
Уже нашёл(click.wav), сделал файл click.rc. Написал там
click RCDATA LOADONCALL click.wav
Как его brcc32.exe, чтобы сделать .res? Первый раз делаю). Это в компиляторе? Глупый конечно вопрос)..
Ega23 (2009-03-31 14:29:00) [13]
> а можно ли как-нибудь внутри скомпилировать, что бы звук
> с собой таскать..?
Не надо этого делать. У пользователей может быть собственное представление о звуке, возникающем при клике на гиперссылку. И это представление может радикально от твоего отличаться. У меня долгое время таким звуком передёргивание дробовика из DOOM стояло.
Если уж тебе неймется, то как минимум сделай возможность настройки этого звука. Для каждого пользователя.
Сергей М. (2009-03-31 14:23:00) [14]
> хоть где искать
Ну где ?
В Гугле, на Луне, опять же самому "кликнуть" и записать "кликнутый" звук любым рекордером ..
AlexDan (2009-03-31 13:55:00) [15]да нет, хоть где искать..)?
Сергей М. (2009-03-31 13:53:00) [16]
> Файл с кликом можно найти где-нибудь, или нужно как-то по
> другому?
Наверно можно.
Предлагаешь мне за тебя поискать ?
AlexDan (2009-03-31 13:52:00) [17]Значит, насколько я понял делается это так:
{$R Wav.res}
procedure RetrieveMyWave;
begin
PlaySound('WAV', hInstance, SND_RESOURCE or SND_ASYNC);
end;
Файл с кликом можно найти где-нибудь, или нужно как-то по другому?
Сергей М. (2009-03-31 12:19:00) [18]
> на разных машинах возможен разный звук
И не только на разных машинах, но и для разных пользователей на одной и той же машине, и от капризов конкретного пользователя зависит.
Все зависит от настроек.
> можно ли как-нибудь внутри скомпилировать, что бы звук с
> собой таскать
Можно.
Суй свой звук в ресурс, а в ран-тайм воспроизводи его прямо из ресурса.
См. PlaySound с флагом SND_RESOURCE
AlexDan (2009-03-31 12:02:00) [19]Да, разные операционки по-разному, а можно ли как-нибудь внутри скомпилировать, что бы звук с собой таскать..?
AlexDan (2009-03-31 11:48:00) [20]Да, нашёл PlaySound(PChar('MenuCommand'), 0, snd_Async);, правда и ещё вопрос появился, значит по идее на разных машинах возможен разный звук, от настроек, или это стандарт?