|
#1
|
|||
|
|||
Формы и музыка
Обьясните как мне с помощью кнопки можно переходить на другую форму?.
Есть еще один вопрос...Допустим я открыл форму и мне нужно что бы плеер заиграл песню..что то вроде фоновой музыки,если я форму сменю ,другая песня...кто может обьяснить как такое сделать ? |
#2
|
|||
|
|||
Менять формы (не менять, а открывать следующую, предыдушую, если она не является главной можно закрыть) можно с помощью вызова Show или ShowModal экземпляра соотв. класса (формы: Form1, Form2 и т.д.).
Для воспроизведения музыки в таком режиме тебе надо TMediaPlayer разместить на главной форме, а управлять им с других форм (например, написав процку PlayMelody(AMelodyFileName : String) и вызывая ее из каждой формы, а эта процка должна загрузить указанный файл в медиаплеер и запустить его на проигрывание). |
#3
|
|||
|
|||
А можно переходами между формами воспользоваться ShowModal, и на каждую форму поставить TMediaPlayer со своими файлами воспроизведения, тогда переходя на другую форму должна играть другая мелодия, а первая приостановиться, и если вернуться на первую форму то она должна продолжиться.
|
#4
|
|||
|
|||
Извините за настойчеость ,только вот я нуб полный и еще только учусь ...Допустим создал форму кинул туда MediaPLayer,сохранил проект в папку ,в эту же папку кинул песню,на событие OnFormCreate ,пишу в var MediaPlayer1 : TMediaPlayer;
Далее в begin пишу PlayMelody ...и дальше как сказали ...компилирую проект..мне ошибки вроде неизвестный индетификатор PlayMelody и про другие точно так же...Не можете поподробнее обьяснить?) |
#5
|
|||
|
|||
А не....как связать формы я додумался...
Вот теперь не понятно про музыку....куда что кидать и так далее.где чего прописыатть..обьясните плиз) |
#6
|
||||
|
||||
Booo, с музыкой все очень просто. А "PlayMelody(AMelodyFileName : String)" это невстроенная процедура, а самописанная которая должна быть примерно такая:
Цитата:
И теперь при событии OnCreate вызываешь процедуру PlayMelody(filename), где переменная filename содержит полный путь к песенке для данной формы. Вот и все |
#7
|
|||
|
|||
Блин теперь с формами запутался...Если я перехожу на новую форму ,то старая весит у меня на заднем плане,а как мне сделать что бы старая что то вроде исчезла..пробывал close и visible в false ставить...что тос не получилось ,просто я на эту форму не могу теперь переключиться,посредством щелчка по ней,что мне сделать что бы форма не висела на заднем плане?
|
#8
|
||||
|
||||
Используй вместо ShowModal просто Show.
Программирование - это искусство и наш смысл жизни. |
#9
|
|||
|
|||
Цитата:
|
#10
|
|||
|
|||
Цитата:
|
#11
|
||||
|
||||
Код:
procedure TForm1.Button1Click(Sender: TObject); begin Hide; // Прячем главную форму Form2.ShowModal; // Показываем вторую Show; // Показываем главную end; Хорошо написанная программа не требует документации ICQ 9-184-668. |