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
Canvas.Brush.Style := bsSolid;
Canvas.Brush.Color:= clGray;
Canvas.Pen.Style := psSolid;
Canvas.Pen.Color := clRed;
Canvas.Pen.Width := 1;
if odSelected in State then Canvas.Rectangle(Rect)
else Canvas.FillRect(Rect);
Canvas.Font.Color := clBlack;
Canvas.TextOut(Rect.Left + 1, Rect.Top + 1, Items[Index]);
end;
end;