OnDrawColumnCell: Centralizar

18/11/2005

0

pessoal
utilizo a função abaixo para centralizar as colunas no dbgrid e muda-las de cor

procedure TFrm1.DBGridDrawColumnCell(Sender: TObject; const Rect: TRect; 
  DataCol: Integer; Column: TColumn; State: TGridDrawState); 
var 
  S: string; 
  R: TRect; 
begin 
  if (VAlor < 0)then 
  begin 
    with DBGrid.Canvas do 
    begin 
      Font.Color  := clRed; 
      FillRect(Rect); 

      S := Column.Field.AsString; 
      R := Rect; 
      DrawText(Handle, PChar(S), Length(S), R, DT_CENTER or DT_VCENTER); 
    end; 
  end; 
end;


só que as colunas que estão centralizadas na vertical com essa função acima, não fica centralizado na horizontal, ou seja, fica muito em cima..

como posso corrigir esta função ?

obrigado

Diogo


Diogoalles

Diogoalles

Responder

Posts

18/11/2005

Giancorrea

bom, como você já possui uma variável R: TRect, é só colocar assim
 R.Top := Rect.Top + 5 
você pode deixar a sua váriavel no mesmo lugar onde ela está, é só acrescentar isso aí, pelo menos comigo funcionou. Qualquer dúvida mail-me. Valeu?


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