GARANTIR DESCONTO

Fórum Formatar um StringGrid (negrito, centralizado) e Limpá-lo #194248

11/11/2003

0

Olá!
Tenho uma tela onde tem um StringGrid com duas colunas, Nome e Matrícula. A primeira linha contém os títulos, que são Nome e Matrícula. A partir da segunda linha ficarão os dados.
Gostaria de saber como faço para colocar somente o título em negrito e todos os dados, inclusive o título, centralizados.
E como fazer para limpar este StringGrid toda vez que eu entrar nesta janela, deixando somente o título.

Obs.: Estes dados vem de uma planilha Excel, na qual já estou conseguindo ler e receber os dados no StringGrid, só falta formatá-los.

Desde já agradeço.


Bclr

Bclr

Responder

Post mais votado

11/11/2003

Coloque o Codigo abaixo no evento OnNDrawCell
var
texto:string;

begin

texto:=StringGrid.Cells[col,row];

StringGrid.Brush.Style := (bsSolid);

if row=0 then
StringGrid.Canvas.Font.Style:=[fsbold] // negrito
else
StringGrid.Canvas.Font.Style:=[];


StringGrid.Canvas.Rectangle(Rect.Left,Rect.Top,Rect.Right,Rect.Bottom);
SetTExtAlign(Stringgrid.canvas.handle,TA_CENTER);
StringGrid.Canvas.TextOut(Rect.right-2,Rect.Top,Texto);

// alinha no centro

Pra limpar e so vc fazer um for


M@rcelo

M@rcelo
Responder

Gostei + 1

Mais Posts

11/11/2003

Bclr

Valeu pela ajuda M@rcelo,
Mas será que não tem uma maneira mais fácil de fazer isto?
Fiz desta maneira mas ficou meio estranho, os títulos ficaram em negrito mas ultrapassaram o limite da célula, aparecendo somente parte do texto.
Já tentei aumentar de Rect.right-2 para outro número, ou também ao invés de usar TextOut, usar TextRect. Mas infelizmente não consegui um bom resultado.

Para limpar você quis dizer para eu colocar um for em que cada célula recebrá um valor ´´ ???
Será que não tem nenhum Delete, por exemplo?

E como eu faço para ordernar os valores de acordo com uma certa coluna? Tem alguma idéia?

Obrigado


Responder

Gostei + 0

11/11/2003

M@rcelo

Amigo faca o seguinte pra ficar centralizado

Tire a linha do Rectangle e a linha do Textout

O resto verei p vc


Responder

Gostei + 0

21/12/2012

Alisson Sampaio

  SetTextAlign(stgTributos.canvas.handle, TA_CENTER);
  stgTributos.Canvas.TextOut(trunc((Rect.Left + Rect.Right)/2),Rect.Top+3,texto);
Responder

Gostei + 0

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

Aceitar