Ir para conteúdo
Fórum Script Brasil
  • 0

Alinhar Números A Direita Num Stringgrid


Fabiana

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

eu também. estou a procura mas como ainda não encontrei resolvi desenvolver da minha forma.

fiz da seguinte forma.

for i := 0 to pred(stringgrid1.rowcount) do

stringgrid1.cells[0, i] := stringofchar(' ', 20 - (length(stringgrid1.cells[0, i]))) + stringgrid1.cells[0, i];

uso o valor 20 porque a largura da minha coluna é 125.

Link para o comentário
Compartilhar em outros sites

  • 0

Fabiana, escreva o seguinte código no evento OnDrawCell do seu StringGrid:

procedure TForm1.StringGrid1DrawCell(Sender: TObject; Col, Row: Integer; Rect: TRect; State: TGridDrawState);
var
  X, C, R :Integer;
begin
  C := Col; R := Row;
  if (Col = 2) and (Row > 0) then
  with Sender as TStringGrid do
  begin
    X := Rect.Left +(Rect.Right -Rect.Left) -Canvas.TextWidth(Cells[C, R]) -3;
    Canvas.TextRect(Rect, X, Rect.Top +2, Cells[C, R]);
  end;
end;

A declaração e uso das variáveis C e R são necessárias devido ao uso de "with Sender as TStringGrid do". Como StringGrid também possui as propriedades Col e Row, há um "conflito" e acaba sendo utilizados seus valores e não os dos parâmetros.

Observe que presumi que você coloca o "texto numérico" já formatado com 2 casas após a vírgula.

[]s

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...