Una duda...
¿Por qué no pinta nada cuando no hay guión?
Yo he modificado el código original incluyendo todo dentro del else (p=0), y así me pinta una vez, pero no las demás. Es decir:
Código:
Str := ListBox1.Items[Index];
p := Pos('-', Str);
if (p = 0) then
begin
ListBox1.Canvas.TextRect(Rect, 0, 0, Str);
end
else
begin
Str1 := Copy(Str, 1, P - 1);
Str2 := Copy(Str, P, Length(Str));
w1 := ListBox1.Canvas.TextWidth(Str1);
w2 := ListBox1.Canvas.TextWidth(Str2);
ListBox1.Canvas.Font.Color := clRed;
ListBox1.Canvas.TextRect(Rect, Rect.Left, Rect.Top, Str1);
ARect := Rect;
ARect.Left := aRect.Left + w1;
ListBox1.Canvas.Font.Color := clBlue;
ListBox1.Canvas.TextRect(aRect, aRect.Left, aRect.Top, Str2);
end;
Además en el form tengo un edit y un button, y en el evento onclick del button pongo:
Código:
ListBox1.Items.Add(Edit1.Text);
Vale, si en el edit dejo el text que sale (Edit1) y le doy al botón, me lo pinta en negro, pero solo la primera vez. Después salen líneas en blanco... Eso no es normal, ¿no? Al fin y al cabo la primera parte del if me lo pintaría si no hubiera guiones, ¿no?
No lo entiendo...
Saludos del elfo