Ver Mensaje Individual
  #18  
Antiguo 26-01-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por compuin Ver Mensaje
Aunque el ejemplo lo hace con todas las celdas

Yo necesito que las celdas de escabezado queden centradas y el resto alineadas a la derecha
Código Delphi [-]
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
var
  Alin: integer;
begin
  with Sender as TStringGrid do
  begin
    if ARow = 0 then
       Alin:= DT_CENTER
    else
       Alin:= DT_RIGHT;

    // Dibujar texto centrado horizontal y verticalmente o a la derecha
    InflateRect(Rect, -1, -1);
    Canvas.FillRect(Rect);
    InflateRect(Rect, -3, -3);
    DrawText(Canvas.Handle, PAnsiChar(Cells[ACol, ARow]), Length(Cells[ACol, ARow]), Rect,
      Alin or DT_VCENTER or DT_SINGLELINE);
  end;
end;


Cita:
Empezado por compuin Ver Mensaje
Adicional, el color azul de la celda activa me gustaria quitarlo tambien
Código Delphi [-]
DefaultDrawing:= false;


Saludos.
Responder Con Cita