Zawijanie wierszy w ListBoxie?

0

No wlasnie,
mam powiedzmy listboxa o szerokosci 100 pikseli, ale dodam do niego wiersz ktory ma 200 pikseli szerokosci. Czy mozna go automatycznie zawinac/ podzielic na dwa wiersze po 100 pikseli?

pozdrawiam

Wodzu

0

Nie no ludzie co z wami przecież to 10 minut roboty i 2 minuty myślenia (albo na odwrót ;) ).

procedure Dodaj(Tekst: String; var ListBox: TListBox);
const
Blad = 8; // nieklócić się tak ma być
var
B: TBitmap;
n: Integer;
S: String;
begin
B := TBitmap.Create;
B.Canvas.Font.Assign(ListBox.Font);
if B.Canvas.TextWidth(Tekst) > (ListBox.Width - Blad) then
begin
while B.Canvas.TextWidth(Tekst) > (ListBox.Width - Blad) do
begin
n := 1;
S := '';
repeat
S := S + Tekst[n];
Inc(n);
until B.Canvas.TextWidth(S) > (ListBox.Width - Blad);
Delete(S, Length(S), 1);
ListBox.Items.Add(S);
Delete(Tekst, 1, Length(S));
end;
end else begin
ListBox.Items.Add(Tekst);
end;
if B.Canvas.TextWidth(Tekst)

0

Slicznie;)

Wiem ze nie duzo z tym myslenia, ale po prostu myslalem :-D ze juz jest taka procedura zaimplementowana standardowo w delphi tylko ja zle szukam;)

dzieks i pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1