Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.023 c
14-1121339167
alex-drob
2005-07-14 15:06
2005.08.07
Delphi 2005 не могу скомпилировать


3-1120222202
DesWind
2005-07-01 16:50
2005.08.07
Раскрывающийся список DBLookupComboBox, как раскрыть полностью?


4-1118149449
A№t0№
2005-06-07 17:04
2005.08.07
Процедуры и функции из DLL


4-1118310753
Vovaka
2005-06-09 13:52
2005.08.07
Как винда узнает когда время переводить ?


14-1121498615
ShotGuN
2005-07-16 11:23
2005.08.07
Resource editor...




   Наверх