Показать сообщение отдельно
  #1  
Старый 23.02.2009, 12:14
SpuD SpuD вне форума
Прохожий
 
Регистрация: 23.02.2009
Сообщения: 3
Репутация: 10
По умолчанию Отрисовка ListBox

Добрый день всем! всех с 23 февраля!

начал делать mp3-плеер (курсовой проект), возникла необходимость собственной отрисовки компонента ListBox (использую как плейлист), проблема в том, что не могу нормально вывести названия песен, названия выводятся с первой строки listbox, и при прокрутке плейлиста остаются на месте, либо прокручиваются, но при даблклике на строке опять идут с первой строки в listbox.

прикладываю код, где названия остаются на месте, т.к. другой исходник где-то на флехе...
Код:
procedure TForm1.PlaylistDrawItem(Control: TWinControl; Index: Integer;
 Rect: Trect; State: TOwnerDrawState);
var y: integer;
    x: integer;
    y1:integer;
 begin
 y:=5;
 y1:=35;
  with Playlist.Canvas do
   begin
    for i:=0 to Playlist.Count-1 do
     begin
      Brush.Color:=clBlack;
      Rectangle(10,y,290,y1);
      Brush.Color:=clGray;
      Rectangle(12,y+2,288,y1-2);
      TextOut(40,y+10,Playlist.Items[i]);
      y:=y+40;
      y1:=y1+40;
     end;
    end;
 end;

ткните в каком направление надо копать.
если кто-то предоставит код буду просто счастлив
если не в тот раздел, то переместите тему, плиз.
Ответить с цитированием