Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.11.2007, 17:25
Аватар для Shaitan
Shaitan Shaitan вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 5
По умолчанию PLayList

А какой компонерт лучше всего использовать для PlаyList?
Ответить с цитированием
  #2  
Старый 11.11.2007, 19:46
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

Если без сторонних компонентов, то TListBox
__________________

Ответить с цитированием
  #3  
Старый 11.11.2007, 22:28
Аватар для Shaitan
Shaitan Shaitan вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 5
По умолчанию

А как можно в TListBox сденать так что бы при нажатии на определённую строку воспроизвадился определённый трэк?
Ответить с цитированием
  #4  
Старый 11.11.2007, 22:40
aleksnine aleksnine вне форума
Начинающий
 
Регистрация: 08.03.2007
Сообщения: 151
Репутация: 12
По умолчанию

Filename:=Listbox.items.strings[listbox.itemindex]
Ответить с цитированием
  #5  
Старый 11.11.2007, 23:21
Аватар для Shaitan
Shaitan Shaitan вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 5
По умолчанию

Спасибо за помощ!
Ответить с цитированием
  #6  
Старый 02.06.2008, 13:11
Lekas Lekas вне форума
Прохожий
 
Регистрация: 02.06.2008
Сообщения: 2
Репутация: 10
По умолчанию

А какие есть сторонние компоненты для создания PlayList`a
Ответить с цитированием
  #7  
Старый 02.06.2008, 15:01
Аватар для KOOL
KOOL KOOL вне форума
Активный
 
Регистрация: 06.01.2008
Адрес: Рязань
Сообщения: 306
Версия Delphi: 2009
Репутация: 6150
По умолчанию

Незнаю насчет сторонних компонентов, но TListBox-примитивно. Если хочешь, чтобы выводились заголовки а не путь то юзай TListView(там пониже тема есть) или создавай свой компонент(точней доделывай готовый)
Ответить с цитированием
  #8  
Старый 02.06.2008, 15:32
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Возми TListBox (там легко свою отрисовку делать, но это на будущее).
Сделай свой класс, например:

Код:
type
  TPlayListItem = class
  private
    FTitle : String;
    FAuthor : String;
    FFileName : String;
  public
    constructor Create(AFileName : String); virtual;

    property Title : String read FTitle;
    property Author : String read FAuthor;
    property FileName : String read FFileName;
  end;

constructor TPlayListItem.Create(AFileName : String); virtual;
begin
  inherited;
  FFileName := AFileName;
  // здесь заполняются остальные свойства, типа название и автор.
end

Внутри программы, когда добавляешь треки в список, создаешь экземпляр вышеописанного класса и добавлешь в ListBox с помощью AddObject:

Код:
procedure TForm1.AddFile(AFileName : String);
var
  APlayListItem : TPlayListItem;
begin
  APlayList := TPlayList.Create(AFileName);
  ListBox1.Items.AddObject('',APlayListItem);
end;
Добавляется с пустым капшеном, т.к. в последствии это нам все-равно не надо.

А вот теперь в ListBox'е за счет ручной отрисовки в зависимости от какого-либо параметра выводишь то, что надо из соответсвующего прицепленого к итему класса:

Код:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
var
  AItem : TPlayListItem;
  ABuf : String;
begin
  AItem := ListBox1.Items.Objects[Index];
  Case PlayListMode Of
    1 : ABuf := ExtractFileName(AItem.FileName); // имя файла
    2 : ABuf := AItem.Title; // название трека
    3 : ABuf := AItem.Author + ' - ' + AItem.Title; // автор и название трека
  End;
  Control.Canvas.TextOut(Rect.Left,Rect.Top,ABuf);
end;

ЗЫ. Не забудь соотв. стиль у листбокса поставить.
ЗЗЫ. Здесь простейшая отрисовка без учета состояния позиции и всяких других извращений. Дальше сам копай.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 14:51.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter