Jump to content


Photo

[RESUELTO] Problemas con pintado de selección en Listbox


  • Please log in to reply
9 replies to this topic

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 07 November 2009 - 09:57 AM

Pues eso amigos, estoy cambiando el color de selección del listbox, hasta ahora no tengo problemas pero..., los items no se muestran, ¿por qué?, la propiedad Style la tengo en lbOwnerDrawFixed y este es el code:



delphi
  1. procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  2.   Rect: TRect; State: TOwnerDrawState);
  3. begin
  4. with (Control as TListBox).Canvas do
  5.   begin
  6.   if (odSelected in State) then begin
  7.       Brush.Color:=clGreen;
  8.       Font.Color := clBlack;
  9.       FillRect(Rect);
  10.     end else begin
  11.       Brush.Color:=clWindow;
  12.       Font.Color := clBlack;
  13.       FillRect(Rect);
  14.     end;
  15.   end;
  16. end;



¿Alguna idea?.

Saludos.
  • 0

#2 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4107 posts
  • LocationMadrid - España

Posted 07 November 2009 - 01:57 PM

¿Alguna idea?.


Si:


delphi
  1. procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  2.   Rect: TRect; State: TOwnerDrawState);
  3. begin
  4. with (Control as TListBox).Canvas do
  5.   begin
  6.   if (odSelected in State) then begin
  7.       Brush.Color:=clGreen;
  8.       Font.Color := clBlack;
  9.       FillRect(Rect);
  10.     end else begin
  11.       Brush.Color:=clWindow;
  12.       Font.Color := clBlack;
  13.       FillRect(Rect);
  14.     end;
  15.     TextOut(Rect.Left, Rect.Top, (Control as TListBox).Items[Index]);
  16.   end;
  17. end;



Saludos.
  • 0

#3 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 07 November 2009 - 02:10 PM

Excelente amigo, funciona de perlas (y) :D
  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 07 November 2009 - 02:11 PM

Ah vaya, me has ganado amigo escafandra, como tarda en abrir mi Turbo Delphi :D :D :D :p

Salud OS
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 07 November 2009 - 02:18 PM

Por cierto, ¿sabrás como quitar el Focus Rect del listbox? ese rectangulo punteado que tiene cuando estál el foco, ¿se podrá?.
  • 0

#6 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4107 posts
  • LocationMadrid - España

Posted 09 November 2009 - 05:23 PM

Por cierto, ¿sabrás como quitar el Focus Rect del listbox? ese rectangulo punteado que tiene cuando estál el foco, ¿se podrá?.




delphi
  1. procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  2.   Rect: TRect; State: TOwnerDrawState);
  3. begin
  4. with (Control as TListBox).Canvas do
  5.   begin
  6.   if (odSelected in State) then begin
  7.       Brush.Color:=clGreen;
  8.       Font.Color := clBlack;
  9.       FillRect(Rect);
  10.     end else begin
  11.       Brush.Color:=clWindow;
  12.       Font.Color := clBlack;
  13.       FillRect(Rect);
  14.     end;
  15.     TextOut(Rect.Left+2, Rect.Top, (Control as TListBox).Items[Index]);
  16.     if(odFocused in State)  then DrawFocusRect(Rect);
  17.   end;
  18. end;



Saludos.
  • 0

#7 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 09 November 2009 - 05:33 PM

¡Hostia!, eres un tolete, funciona de perlas (y)
  • 0

#8 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4107 posts
  • LocationMadrid - España

Posted 09 November 2009 - 05:49 PM

¡Hostia!, eres un tolete, funciona de perlas (y)

¿tolete?  :^) esa expresión no la usamos por aquí en España.

Saludos.
  • 0

#9 enecumene

enecumene

    Webmaster

  • Administrador
  • 7419 posts
  • LocationRepública Dominicana

Posted 09 November 2009 - 06:14 PM

Tolete = Verdugo, genio, Monstruo, Maestro, Pibe, El mejor, etc... ;)
  • 0

#10 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4107 posts
  • LocationMadrid - España

Posted 09 November 2009 - 06:28 PM

Tolete = Verdugo, genio, Monstruo, Maestro, Pibe, El mejor, etc... ;)


Seguro que no :$,  8-|, :D, Gracias.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.