![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
смена строк в ListBox [D6, D7]
alexsashka © (2006-08-06 00:09:00)Уважаемые мастера!Я как и некоторые здесь пытаюсь написать медиа проигрыватель,но возникли трудности в ListBox,перечень воспроизводимых файлов хранится там,но проблема с переходом на следующий воспроизводимый трэк! Как перейти на следующую строку из ListBox.....помогите бедному студенту!
antonn (2006-08-06 05:36:00) [1]
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
ListBox1.Canvas.FillRect(rect);
if ListBox1.ItemIndex=index then
ListBox1.Canvas.Font.Style:=[fsbold] else
ListBox1.Canvas.Font.Style:=[];
ListBox1.Canvas.TextOut(rect.Left,rect.Top,ListBox1.Items.Strings[index]);
end;
+включить св-во Style.
Footballer (2006-08-06 02:42:00) [2]
> Можно код?
Германн (2006-08-06 02:24:00) [3]
> А если не OnDrawItem, то как?
То ещё сложнее!
Footballer (2006-08-06 02:21:00) [4]
> Германн © (06.08.06 02:17) [17]
А если не OnDrawItem, то как?
Или я чего-то не догоняю?
Можно код?
Германн (2006-08-06 02:20:00) [5]
> Проблема в том, что при прокрутке листбокса текст стирается
> :(
Ну тогда и ещё вопрос. Какие критерии используются для определения "параметров отрисовки"?
Германн (2006-08-06 02:17:00) [6]А справку ты читал - Use OnDrawItem to write a handler for drawing of the items in list boxes with the Style values lbOwnerDrawFixed, lbOwnerDrawVariable, or lbVirtualOwnerDraw. OnDrawItem occurs when the list box needs to display an item. OnDrawItem occurs only for owner-draw list boxes.?
Footballer (2006-08-06 01:53:00) [7]
> Стив Балмер (06.08.06 01:38) [14]
Ой, это я ник забыл сменить ;)
> Что именно нужно объяснить?
Не могу понять, как всё-таки осуществить [6]
Пробовол так:
procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
begin
listbox1.Canvas.Pen.Color:=clRed;
ListBox1.Canvas.TextOut(0,ListBox1.ItemIndex*13,ListBox1.Items.Strings[ListBox1. itemindex]);
end;
...Ничего не выходит...
Проблема в том, что при прокрутке листбокса текст стирается :(
Германн (2006-08-06 01:43:00) [8]
> Стив Балмер (06.08.06 01:38) [14]
>
>
> > Германн © (06.08.06 00:49) [9]
>
> Объясните, пожалуйста, по-подробнее...
>
Что именно нужно объяснить?
Стив Балмер (2006-08-06 01:38:00) [9]
> Германн © (06.08.06 00:49) [9]
Объясните, пожалуйста, по-подробнее...
GeLLeR (2006-08-06 01:11:00) [10]
> помогите бедному студенту!
А ты оказывается студент....
Хм.....
Footballer (2006-08-06 00:58:00) [11]
> GeLLeR ©
Оба-на, а я тебя узнал, зайди-ка в чат, плизз
GeLLeR (2006-08-06 00:55:00) [12]
> Ха... Я узнаю свой плеер ;-)
Наш плеер...
Footballer (2006-08-06 00:53:00) [13]
> Вот зацени:
> http://slil.ru/22980004
Ха... Я узнаю свой плеер ;-)
Правда он ещё не доделан и глюки можно найти...
Германн (2006-08-06 00:49:00) [14]
> Да, и к теме про плейлисты (да и автору, кстати, тоже в
> дальнейшем может пригодится), как в строке TListbox можно
> строку сделать жирной или изменить её цвет.
Изменить свойства Canvas.Pen.Font.Style или Canvas.Brush.Color или Canvas.Pen.Font.Color. Но делать это нужно в событии OnDrawxxxx! "xxxx" в последнем для тех, которые интересуются особой отрисовкой не только в TListBox, но в ряде других "многострочных" компонентах.
GeLLeR (2006-08-06 00:44:00) [15]Вот зацени:
http://slil.ru/22980004
GeLLeR (2006-08-06 00:42:00) [16]
> если надо тока музыку без видео,
А если надо видео, то
1) Скачать компонент подходящий
2) (Противоречу себе) На время проигрывания видео создавать медиаплеер
а потом удалять его за ненадобностью
Footballer (2006-08-06 00:40:00) [17]
> BassPlayer РУЛИТ!!!!
Жаль что видио через него не посмотришь... :(
Да, и к теме про плейлисты (да и автору, кстати, тоже в дальнейшем может пригодится), как в строке TListbox можно строку сделать жирной или изменить её цвет. Знаю, что это связано с Canvas, но не знаю что именно...
GeLLeR (2006-08-06 00:30:00) [18]Да я ваще не знаю зачем TMediaPlayer написали такое ... (цензура)
BassPlayer РУЛИТ!!!!
Footballer (2006-08-06 00:29:00) [19]А вообще TMediaplayerмного ресурсов жрёт, если надо тока музыку без видео, то лучше используй TBassplayer, меньше ресурсов тратит, да и возможностей больше
GeLLeR (2006-08-06 00:18:00) [20]Извеняюсь. Всё это в таймере
if mediaplayer1.position=mediaplayer1.length then
...