valor a direita na stringgrid

08/04/2003

0

Olá

Gostaria de colocar o vlr a direita da celula da stringgrid.

obrigado.

frare


Anonymous

Anonymous

Responder

Posts

08/04/2003

Anonymous

Faça assim:

[b:e2487fa2a0] [color=blue:e2487fa2a0]var[/color:e2487fa2a0][/b:e2487fa2a0]
d:variant;
[b:e2487fa2a0][color=blue:e2487fa2a0]begin[/color:e2487fa2a0][/b:e2487fa2a0]
Grid.Canvas.FillRect(rect);
d:=((Rect.Right-rect.Left) - grid.Canvas.TextWidth(grid.cells[acol,arow]));
[b:e2487fa2a0][color=blue:e2487fa2a0]if[/color:e2487fa2a0][/b:e2487fa2a0] arow = 0[b:e2487fa2a0] [color=blue:e2487fa2a0]then begin[/color:e2487fa2a0][/b:e2487fa2a0]
grid.Canvas.font.color := clBlack;
[b:e2487fa2a0][color=blue:e2487fa2a0]end[/color:e2487fa2a0];[/b:e2487fa2a0]
[b:e2487fa2a0][color=blue:e2487fa2a0]if[/color:e2487fa2a0][/b:e2487fa2a0] acol = 0 [b:e2487fa2a0][color=blue:e2487fa2a0]then begin[/color:e2487fa2a0][/b:e2487fa2a0]
grid.Canvas.TextOut(Rect.left+4,rect.top+2,grid.cells[acol,arow]);
[b:e2487fa2a0][color=blue:e2487fa2a0]end else begin[/color:e2487fa2a0][/b:e2487fa2a0]
grid.Canvas.TextOut(Rect.left+d-3,rect.top+2,grid.cells[acol,arow]);
[b:e2487fa2a0][color=blue:e2487fa2a0]end[/color:e2487fa2a0];[/b:e2487fa2a0]


Responder

08/04/2003

Anonymous

procedure TForm1.Grid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
var
LarguraTexto, AlturaTexto, X, Y: integer;
Texto: string;
begin
{ Pega o texto da célula }
Texto := Grid1.Cells[ACol, ARow];

{ Calcura largura e altura (em pontos) do texto }
LarguraTexto := Grid1.Canvas.TextWidth(Texto);
AlturaTexto := Grid1.Canvas.TextHeight(Texto);

{ Calcula a posição horizontal do início do texto }
if ACol = 0 then { Esquerda }
X := Rect.Left + 2
Else if ACol = 1 then { Esquerda }
X := Rect.Left + 2
Else if ACol = 2 then { Esquerda }
X := Rect.Left + 2
else { Direita }
X := Rect.Right - LarguraTexto - 2;

{ Calcula a posição vertical do início do texto para
que seja impresso no centro (verticalmente) da célula }
Y := Rect.Top + (Rect.Bottom - Rect.Top) div 2 -
AlturaTexto div 2;

{ Pinta o texto }
Grid1.Canvas.TextRect(Rect, X, Y, Texto);
end;


Responder

08/04/2003

Anonymous

Complementado:

Coloque esse código no evento OnDrawCell.


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar