Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

ListView con Items de colores

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: ListView con Items de colores Responder citando

Hola amigos del foro
Tengo la necesidad de agregar valores a un listview dichos valores pueden ser numeros (por ejemplo):
1
2
3
4
1
20
3
Lo que necesito es que los numeros que sean iguales se resalten (
Código:
Sender->Canvas->Brus-.Color = clRed
)de un color x y los que no no se resalten, en el caso que planteo el 1 seria color rojo y el 3 de color azul y asi susesivamanete distintos colores siempre que sean numeros distintos.
He tratado con un ordenamiento sencillo (tipo bubuja) para pintarlos en el CustomDrawItem pero no obtengo el resultado y quiciera tratar de resolverlo, alguien me pudiera ayudar por favor?


el codigo que tengo es
Código:
for (int i = 0; i <lv>Items->Count; i++){
    for (int j = i + 1; j <lv>Items->Count; j++){
        if (lv->Items->Item[i]->SubItems->Strings[1] ==
            lv->Items->Item[j]->SubItems->Strings[1]);
            Sender->Canvas->Brush->Color = clRed;
        else
            Sender->Canvas->Brush->Color = clBlue;

    }
}


saludos y gracias
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mensaje    Asunto: Responder citando

Creo que este ejemplo te aclarará tus dudas:
Código:
void __fastcall TForm1::lvCustomDrawItem(TCustomListView *Sender,
      TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
  for (int i = 0; i < lv->Items->Count; i++){
       if(Item == lv->Items->Item[i]) continue;
       if (Item->SubItems->Strings[1] == lv->Items->Item[i]->SubItems->Strings[1]){
            Sender->Canvas->Brush->Color = clRed;
            break;
       }else
            Sender->Canvas->Brush->Color = clBlue;

  }
}


Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Agradecido Responder citando

Hola scafandra, muchas gracias por el codigo que me mandas, es exactamente lo que deseaba, solo me toca hacer algunas modificaciones. Ya me rompere la cabeza en ello.
Hasta ahora son dos colores rojo para los iguales y azul para los distintos, pero mi necesidad es que para los distintos sea azul y por cada par o tripleta , etc que sean iguales otros colores distintos cada unos.
_________________
Todos somos ignorantes, lo que no todos ignoramos lo mismo...
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.