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
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
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)
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