Ver Mensaje Individual
  #1  
Antiguo 09-01-2018
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
Listbox con ultima linea añadida con diferente color

Hola amigos, estoy con una aplicacion la cual tiene un ListBox para mostrar una especie de log el cual si hay un error lo mostraria en rojo, si hay alguna alerta en naranja y si fue bien en verde. La idea es que vayan apareciendo lineas y cada una de su color pertinente y hasta ahora tengo esto:
Donde controlo el dibujado del listbox:
Código PHP:
void __fastcall TForm1::ListBoxLogDrawItem(TWinControl *Controlint Index,
      
TRect &RectTOwnerDrawState State)
{
    
// eliminate artifacts
    
ListBoxLog->Canvas->FillRect(Rect);

    
// Compruebo si es la ultima linea
    
if (Index == ListBoxLog->Items->Count 1) {
        
// Color del texto que deseo para la ultima linea
        
ListBoxLog->Canvas->Font->Color colorListBoxLog;
    }else{
    }
    
// dibujo el texto
    
ListBoxLog->Canvas->TextOut(Rect.Left 1Rect.Top,ListBoxLog->Items->Strings[Index]);

Uno de los que insertan una linea en el ListBox:
Código PHP:
void __fastcall TForm1::ButtonUpdateFirstLayerClick(TObject *Sender)
{
    
//Aqui ya habria que desencriptarlo
    
if(Actualizar()==-1){
        
colorListBoxLog clRed;
        
ListBoxLog->Items->Add("Hubo un error al actualizar.");
    }else{
        
colorListBoxLog clRed;
        
ListBoxLog->Items->Add("Se ha actualizado correctamente.");
        
ListBoxLog->TopIndex ListBoxLog->Items->Count 1;
    }

El problema que tengo es que me colorea bien el primero pero si inserto otra linea esa me la colorea bien pero el resto de lineas no me respeta el color que tenia y todas me las pone de negro. ¿como seria para que me respete el color de las que ya estaban?
Responder Con Cita