Плейлист и случайное воспроизведение песен
|
|
Filo$oF | Дата: Воскресенье, 01.07.2012, 20:52 | Сообщение # 16 |
 Лейтенант
Группа: Пользователи
Сообщений: 61
Статус: Offline
| BM_GORA
Обрабатывайте событие OnMouseDown в listbox.
Примерно так: Code procedure TForm_player.ListBox1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var N: Integer; begin N := ListBox1.ItemAtPos(Point(X, Y), True); if N >= 0 then ListBox1.ItemIndex := N; end;
Правда, если не один из треков не был выделен до этого левой кнопкой мыши, то при нажатии правой строка не выделится, но меню откроется именно для той строки на которой была нажата кнопка. Думаю понятно.
|
|
| |
BM_GORA | Дата: Четверг, 05.07.2012, 13:15 | Сообщение # 17 |
Лейтенант
Группа: Пользователи
Сообщений: 44
Статус: Offline
| спс, все работает)), насчет выделения, у меня так сказать по умолчанию выделяется первый трек, и сделать так чтоб не один трек не был выделен нельзя ))
|
|
| |
Vlad | Дата: Воскресенье, 22.09.2013, 23:31 | Сообщение # 18 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| как воспроизвести песню, кликнув на нее в плейлисте дважды?
|
|
| |
xaramamburu | Дата: Понедельник, 23.09.2013, 10:28 | Сообщение # 19 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| Vlad, Странный вопрос.((( Смотрите урок 1.2 и исходники к нему, все это там реализовано.)))
|
|
| |
Vlad | Дата: Понедельник, 23.09.2013, 21:36 | Сообщение # 20 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| xaramamburu, Дело в том что, я сделал все, как в инструкции, без единой ошибки. Запустил - даблклик не работает
|
|
| |
xaramamburu | Дата: Понедельник, 23.09.2013, 23:00 | Сообщение # 21 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| Vlad, Смотрите исходник, если в нем работает, то это значит вы где то на мудрили. Пока с этим вроде проблем не было.)))
|
|
| |
Vlad | Дата: Понедельник, 23.09.2013, 23:06 | Сообщение # 22 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| xaramamburu, смотрел. работает. все сделал точь-в-точь как на исходнике, но все равно не работает
|
|
| |
xaramamburu | Дата: Понедельник, 23.09.2013, 23:11 | Сообщение # 23 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| Vlad, В исходнике у вас работает или нет?
|
|
| |
Vlad | Дата: Понедельник, 23.09.2013, 23:16 | Сообщение # 24 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| когда на форме дважды кликнешь по листбоксу, то вызывается процедура листбокс-клик. а как вызвать процедуру листбокс-даблклик????? Добавлено (23.09.2013, 23:14) --------------------------------------------- работает Добавлено (23.09.2013, 23:16) --------------------------------------------- добавил код на процедуру листбокс-клик, воспроизводится по одинарному нажатию. а если я добавлю его на дабл-клик - не работает
|
|
| |
xaramamburu | Дата: Понедельник, 23.09.2013, 23:20 | Сообщение # 25 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| В инспекторе объектов вкладка Events в ней событие OnDblClick.)))
|
|
| |
Vlad | Дата: Понедельник, 23.09.2013, 23:24 | Сообщение # 26 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| работает :up::ok:
|
|
| |
Black-Lotus | Дата: Вторник, 22.10.2013, 20:57 | Сообщение # 27 |
Рядовой
Группа: Пользователи
Сообщений: 5
Статус: Offline
| Цитата Filo$;oF;66 Hanigan, Я реализовал это так: Кидаем на форму listbox и PopupMenu И FormCreate пишем:
Code procedure TForm1.FormCreate(Sender: TObject); begin listbox1.PopupMenu:=popupmenu1; end;
Создаём в меню пункт "Удалить" и в обработчике события N1Click пишем: Code procedure TForm1.N1Click(Sender: TObject); begin //удаляем активный элемент listbox1.Items.Delete(listbox1.ItemIndex); end;
Здесь показан пример, когда PopupMenu вызывается если выбрана строка Listbox-a. Что бы PopupMenu появилось в любом месте listbox-a, то поставьте свойстве listbox 'popup' Сделал таким же макаром давно правда но не суть только не стал прописывать лишний код с приравниванием "поп меню" но я еще добавил в своем плеере в первый же день когда собрал уже готовую модель добавил туда плей лист формата blpl - созданый самим, может кому пригодится подобная фишка, удалял песню и сразу же делал сохранение в фаил. Адресс плей листа брался из ini файла в переменную "plfile" а потом уже сохранял его обратно но с изменениями....... вот такой листинг кода
Код procedure TForm1.N1Click(Sender: TObject); begin //удаляем активный элемент listbox1.Items.Delete(listbox1.ItemIndex); listbox1.items.savetofile(plfile); end;
загружал уже по другому т.к. открыл для себя волшебные свойства ID3Tags но тех кто пока этим не заморочился загружал так listbox1.items.loadfromfile(plfile); Может кому пригодится я не знаю если нет то извините что потралтил ваше время
Сообщение отредактировал Black-Lotus - Вторник, 22.10.2013, 20:58 |
|
| |