... el que sabe, sabe!
Gracias por tomarte el tiempo para contestar, ciertamente se ve un tanto extraño , com tu dices , quizas no me habia explicado bien.
corrigiendo, lo que quiero que se vea con colores alternados es el "fondo" del filelistbox por asi decirlo, la intecion es que no se vea el cuadro "plano" con solo el color que se le puede cambiar.
O quizas hasta al guna imagen ( no se si se pueda?).
en mi caso el color de seleccion de los items es azul. Entonces lo que requiero es:
1._ Tener la posibilidad de cambiar el color de seleccion ( de manera que pueda combinar con los colores de fondo). Seria parecido a lo que me mostraste supongo.
2.- al momento de selccionar un item ( es este caso seleccionar me refiero a que el usuario teclea <enter> ) el color de seleccion cambie por un instante a otro color. es decir para el usuario un efecto de que selecciono ese item.
alguna sugerencia?
-- ahora bien lo que me respondiste, como lo utilizo?, entiendo que hace , pero no, como lo utilizo ? (perdona mi ignorancia)
se usa dentro del programa principal? por aparte o como?
lo intente utilizar asi pero me mando varios errores !
gracias por tu pasciencia!
--------------------------------
<En la forma tengo el filellistbox>
Código Delphi
[-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
FileListBox1: TFileListBox;
TBicolorFileListBox = class(TFileListBox)
protected
procedure DrawItem(Index: Integer; Rect: TRect; State: TOwnerDrawState); override;
end;
private
public
end;
var
Form1: TForm1;
implementation
procedure TBicolorFileListBox.DrawItem(Index: Integer; Rect: TRect; State: TOwnerDrawState);
begin
if odSelected in State then
Canvas.Brush.Color := clGray else if Odd(Index) then
Canvas.Brush.Color := clRed else
Canvas.Brush.Color := clYellow;
inherited;
end;
{$R *.dfm}
end.