Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-05-2020
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 14
aguml Va por buen camino
Colorear Texto en una linea de TListBox

buenas, quisiera colorear el texto de la linea que añada en un ListBox y tengo esto:
Código PHP:
ListBoxDebug->Items->Strings[ListBoxDebug->Items->ItemIndex]->Font->Color clRed
La cosa es que eso no cuela y no se como hacerlo y si primero añado la linea y luego la coloreo o primero indico el color y luego la añado o como va eso. No veo la manera por internet.
Responder Con Cita
  #2  
Antiguo 28-05-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

No podes pintar de ese modo un ítem de un TListBox, debes usar el evento OnDrawItem. Te pongo un ejemplo que muestra los items en fonts de diferentes colores:
Código PHP:

void __fastcall TForm1
::FormCreate(TObject *Sender)
{
  
String s[6] = {"uno","dos","tres","cuatro","cinco"};

  for(
int i 06i++)
    
ListBox1->Items->AddObject(s[i], (TObject*)0);
}


void __fastcall TForm1::ListBox1DrawItem(TWinControl *Controlint Index,
      
TRect &RectTOwnerDrawState State)
{
  
TListBox *LB static_cast<TListBox*>(Control);

  if ((int)
LB->Items->Objects[Index])
   
LB->Canvas->Font->Color = (TColor)LB->Items->Objects[Index];
  
LB->Canvas->FillRect(Rect);
  
LB->Canvas->TextRect(RectRect.leftRect.topLB->Items->Strings[Index]);
}

// ListBox1 OnDblClick: cambia color de los items
void __fastcall TForm1::ListBox1DblClick(TObject *Sender)
{
  
TColor cl[5] = {clRedclYellowclLimeclBlueclBlack};

  
TListBox *LB ListBox1;
  
LB->Items->Objects[LB->ItemIndex] = (TObject*) cl[rand() % 5];
  
ListBox1->Invalidate();

Salida:


Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 29-05-2020 a las 05:05:00. Razón: agregar comentario al código
Responder Con Cita
  #3  
Antiguo 28-05-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Perdón, olvidé mencionar que el ListBox debe tener su propiedad Style en lbOwnerDrawFixed.
Código PHP:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
 ...
 
ListBox1->Style lbOwnerDrawFixed
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Centrar texto en columna dbgrid después de colorear Luis M. Varios 2 08-07-2015 00:26:07
TListBox contenido (A),(B) a dos campos de texto? THACKER Varios 2 09-11-2009 19:34:40
TListBox texto una fila con color blacktoroII OOP 3 08-12-2008 17:49:45
Colorear texto cuadno se escribe Alliance Varios 1 27-06-2008 23:59:54
colorear una linea de un dbgrid hook Varios 5 30-03-2005 16:15:07


La franja horaria es GMT +2. Ahora son las 07:56:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi