Главная страница
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.048 c
14-1121257336
inic
2005-07-13 16:22
2005.08.07
Опрос: Как у вас изменялась зарплата с момента трудоустройства ?


10-1098889890
ИМХО
2004-10-27 19:11
2005.08.07
OLE-автоматизация собственной программы


1-1121714343
BBCHa
2005-07-18 23:19
2005.08.07
Заголовок дочерней формы в TaskBare


9-1113835930
_sHaDe_
2005-04-18 18:52
2005.08.07
Полёт пули(GLScene)


1-1121773327
Juice
2005-07-19 15:42
2005.08.07
MDI приложение, работа с формами