Форум: "Основная";
Текущий архив: 2005.08.07;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c