Ver Mensaje Individual
  #8  
Antiguo 04-12-2006
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Está bien que seas puntilloso. Si te refieres al color de la selección, prueba poniendo esta modificación al principio del evento:

Código Delphi [-]
  // Si es la columna donde deseas poner la imagen...
  if DataCol = 4 then
  begin
    // Si la celda está seleccionada, escoger el color de selección del sistema
    if gdSelected in State then
      DBGrid1.Canvas.Brush.Color := clHighlight;

    // Dibujar el fondo
    DBGrid1.Canvas.FillRect(Rect);

    // Seleccionas la imagen a usar según el valor del campo
    if Table1.FieldByName('campo').AsBoolean then
      Bmp := BitmapSi
    else
      Bmp := BitmapNo;

    // Calculas las coordenadas para que la imagen quede centrada en la celda
    L := Rect.Left + (Rect.Right - Rect.Left - Bmp.Width) div 2;
    T := Rect.Top + (Rect.Bottom - Rect.Top - Bmp.Height) div 2;

    // Dibujas la imagen
    DBGrid1.Canvas.Draw(L, T, Bmp);
  end
  else
    DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);

// Saludos
Responder Con Cita