Ver Mensaje Individual
  #9  
Antiguo 05-04-2005
Elfoscuro Elfoscuro is offline
Miembro
 
Registrado: mar 2005
Posts: 59
Reputación: 22
Elfoscuro Va por buen camino
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
Responder Con Cita