Ver Mensaje Individual
  #2  
Antiguo 16-04-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Reputación: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Tendrás que escribir el evento OnDrawCell para hacer lo que quieres.

Un ejemplo de como hacerlo:

Código:
void __fastcall TForm1::FormCreate(TObject *Sender)
{
  // Esto rellena con cadenas de distinta longitud
  for(int n=0; n<5; n++){
     StringGrid1->Cells[0][n] = "Hola " + IntToStr(n*n*n*n*n);
  }
}
//---------------------------------------------------------------------------

void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
      int ARow, TRect &Rect, TGridDrawState State)
{
   TStringGrid *grid = dynamic_cast<TStringGrid*>(Sender);
   HDC dc = grid->Canvas->Handle;
   char *Cadena = grid->Cells[ACol][ARow].c_str();

   if(State.Contains(gdFixed)){
      grid->Canvas->Brush->Color = StringGrid1->FixedColor;
      grid->Canvas->FillRect(Rect);
   }

   grid->Canvas->Brush->Style = bsClear;
   DrawText(dc, Cadena, strlen(Cadena), &Rect, DT_CENTER | DT_VCENTER | DT_SINGLELINE );
}
//---------------------------------------------------------------------------
Saludos.
Responder Con Cita