Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Вниз

строка в ListBox как в плей-листе WinAmp 


petyun   (2002-01-17 10:04) [0]

Уважаемые мастера! Подскажите, пожалуйста, как сделать такую штуку: в строках ListBox хочется слева поместить один текст, а справа - другой (как в WinAmp слева-название, справа-время).
Причем это должно быть в одной строке.
Т.е. как узнать ширину текста, сколько необходимо пробелов, чтобы
все правильно разместить?



olban   (2002-01-17 11:24) [1]

Используй TStringGrid, можно сколько угодно столбцов сделать, а в ListBox не получится выровнять текст, так как, в основном, шрифты имеют разную ширину символов.



valery_f   (2002-01-17 11:35) [2]

Если ListBox в стиле OwnerDraw, то можно рисовать че угодно :), в т.ч. время справа. По-моему не так уж сложно...



Gennady   (2002-01-17 11:51) [3]

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
Rect: TRect; State: TOwnerDrawState);
var s, s1, s2: string;
i: integer;
H: HDC;
begin
s:=TListBox(Control).Items[Index];
i:=Pos("*", s);
s1:=Copy(s, 1, i-1);
s2:=Copy(s, i+1, Length(s)-i);
h:=TListBox(Control).Canvas.Handle;
TListBox(Control).Canvas.FillRect(Rect);
DrawText(H, PChar(s1), Length(s1), Rect, DT_LEFT or DT_VCENTER);
DrawText(H, PChar(s2), Length(s2), Rect, DT_RIGHT or DT_VCENTER);
end;

как-нибудь так. здесь * - это разделитель между левой и правой частью строки.
только, как сказал valery_f "Если ListBox в стиле OwnerDraw".



TonnyS   (2002-01-17 12:54) [4]

http://delphi.vitpc.com/treasury/listbox.htm




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.017 c
14-8989           fliz                  2001-11-30 11:42  2002.02.04  
после установки Дельфи5 вместо иконок компонентов какой-то мусор.Лечится?


3-8750            Искатель              2002-01-03 01:06  2002.02.04  
Как в DBGridEh запретить обход всех записей перед отображением данных


3-8748            TAIS                  2002-01-02 09:47  2002.02.04  
триггер


1-8945            kserg@ukr.net         2002-01-18 13:12  2002.02.04  
Как программно перевести фокус в ячейку StringGrid.Cells


1-8848            Vlad@Delphi           2002-01-18 21:37  2002.02.04  
Работа с архивами