Ver Mensaje Individual
  #3  
Antiguo 10-09-2006
Avatar de Kimero
Kimero Kimero is offline
Miembro
 
Registrado: sep 2006
Ubicación: el país de nestor
Posts: 12
Reputación: 0
Kimero Va por buen camino
Arrow closer

mas cerca pero todavia aparece el rectangulo 'dotted' del foco:
http://cablemodem.fibertel.com.ar/kimero/foco3.png

lo bizarro es q cuando el listbox pierde el foco [pasandoselo a un boton por ej], obtengo el resultado q queria desde el principio:

http://cablemodem.fibertel.com.ar/kimero/foco4.png

tengo el deseo desde lo mas profundo de mi alma de aniquilar las lineas punteadas

te dejo como tengo el codigo [un poco mas compacto y el brush.color fuera del if]

Código Delphi [-]
procedure TForm1.listaDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
  with Control as TListBox do
  begin
    // Usamos el Brush y el Pen del propio canvas
    Canvas.Brush.Style := bsSolid;
    Canvas.Brush.Color:= clGray;
    Canvas.Pen.Style := psSolid;
    Canvas.Pen.Color := clRed;
    Canvas.Pen.Width := 1;

    // Si esta selec. dibujo un rectangulo, el borde con el valor de Pen
    // y el interior con el valor de Brush
    if odSelected in State then Canvas.Rectangle(Rect)
    // Si no lo esta solo dibujo el interior con el valor del Brush
    else Canvas.FillRect(Rect);

    Canvas.Font.Color := clBlack;
    Canvas.TextOut(Rect.Left + 1, Rect.Top + 1, Items[Index]);
  end;
end;
Responder Con Cita