![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
JvPlayList (TListBox) прорисовать время как в WMP [D7, WinXP]
Valera © (2005-07-19 23:02:00)Возможно ли сделать прорисовку времени после обрезания текста как это реализовано в 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-21 09:02:00) [1]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);
Valera (2005-07-20 21:17:00) [2]Antonn © (20.07.05 09:28) [1]
попробуй в текст добавлять @#$!+-/*
так, ради проверки...
Добавляется все кроме /* если добавлять в имя файла, если добавлять через процедуру выше - добавляется все. У меня отображается только имя файла без расширения(путь хранить в структуре привязанной к строке), хотелось бы добавить время проигрывания если возможно.
Antonn (2005-07-20 09:28:00) [3]попробуй в текст добавлять @#$!+-/*
так, ради проверки...