Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.07;
Скачать: CL | DM;

Вниз

JvPlayList (TListBox) прорисовать время как в WMP   Найти похожие ветки 

 
Valera   (2005-07-19 23:02) [0]

Возможно ли сделать прорисовку времени после обрезания текста как это реализовано в Windows Media Player? Код который я использую реализует только правильное обрезание текста.
Можно ли его дополнить?
var
 OldColor: TColor;
 TempRect: TRect;
begin

TempRect:= Rect;

TempRect.Top:= TempRect.Top + 1;
TempRect.Left:= TempRect.Left + 3;

 with (Control as TJvListBox).Canvas do
 begin
   FillRect(Rect);
      if JvPlaylist1.FStatPoint = JvPlaylist1.Items.Objects[Index] then
        begin
         OldColor:= Font.Color;
         Font.Color:= clBlue;
 // здесь выводим текст с обрезанием по правому краю (три точки в
 // конце, если текст не помещается)

 DrawTextEx(Handle, PChar((Control as TJvListBox).Items[Index]),
 Length((Control as TJvListBox).Items[Index]), TempRect, DT_WORD_ELLIPSIS, nil);

         Font.Color:= OldColor;
        end
        else

 DrawTextEx(Handle, PChar((Control as TJvListBox).Items[Index]),
 Length((Control as TJvListBox).Items[Index]), TempRect, DT_WORD_ELLIPSIS, nil);

   end;


 
Antonn ©   (2005-07-20 09:28) [1]

попробуй в текст добавлять @#$!+-/*
так, ради проверки...


 
Valera   (2005-07-20 21:17) [2]

Antonn ©   (20.07.05 09:28) [1]
попробуй в текст добавлять @#$!+-/*
так, ради проверки...

Добавляется все кроме /* если добавлять в имя файла, если добавлять через процедуру выше - добавляется все. У меня отображается только имя файла без расширения(путь хранить в структуре привязанной к строке), хотелось бы добавить время проигрывания если возможно.


 
Antonn ©   (2005-07-21 09:02) [3]

Valera   (20.07.05 21:17) [2]
ну и рисуй время с другой стороны

var Lenght_time:integer;
   Time_str:string;

//// конце, если текст не помещается)
// далее замени
Time_str:="00:00"; //
Lenght_time:=(Control as TJvListBox).canvas.textwidth(Time_str);

DrawTextEx(Handle, PChar((Control as TJvListBox).Items[Index]),
Length((Control as TJvListBox).Items[Index]),classes.rect( rect.left+3,rect.top,rect.right-Lenght_time-1,rect.bottom), DT_WORD_ELLIPSIS, nil);

(Control as TJvListBox).canvas.textout(rect.right-Lenght_time-3,rect.top+(rect.bottom-rect.top-(Control as TJvListBox).canvas.textheight("0")) div 2,Time_str);



Страницы: 1 вся ветка

Текущий архив: 2005.08.07;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
14-1121404111
pasha_golub
2005-07-15 09:08
2005.08.07
Доклад о профессиях


6-1114747447
Valera
2005-04-29 08:04
2005.08.07
IdIcmpClient и многопоточность


14-1121667418
Vovchik_A
2005-07-18 10:16
2005.08.07
Умер Спартак Мишулин


10-1098798905
}|{yk
2004-10-26 17:55
2005.08.07
Никто не подскажет, почему при передаче в Excel я получаю


4-1118215991
kkostik
2005-06-08 11:33
2005.08.07
Drag&Drop