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

(Resolvido) Usando Lazarus fonte dbgrid em valor negativo


Lazaruz

Pergunta

Olá!!

Estou usando esta rotina para tentar pintar valores negativos no DBgrid do Lazarus que deve ser parecido com com Delphi,

mas estou recebendo um erro  no valor de canvas:

DBGrid1.Canvas.Font.Color:= clRed;     O Lazarus não reconhece a constante  clRed

 

procedure Tform1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
BEGIN
     if (Column.Field.FieldName = 'campovalor') then
    begin
         if (Dtm.ZQuery1.FieldByName('campoValor').Value   < 0)   then
         begin

              DBGrid1.Canvas.Font.Color:= clRed;
           end
           else
              DBGrid1.Canvas.Font.Color:= clWindowText;
              DBGrid1.Canvas.FillRect(Rect);
              DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
      end;
END;
                                   ERRO:   form1.pas   Error: Identifier not found "clRed"

 

alguém poderia me auxiliar por gentileza?! grato.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

 Já li todos as dicas. Agradeço. Ate usei uma delas mas o problema parece outro que nunca vi antes:

  Não compila com estes erros:

Error: Incompatible type for arg no. 1: Got "Constant String", expected "TGraphicsColor"
Error: identifier idents no member "DefaultDrawDataCell"
Error: identifier idents no member "DefaultDrawDataCell"
 

Uso  é com Lazarus 2.0.8.

Link para o comentário
Compartilhar em outros sites

  • 0

Erro: Tipo incompatível para arg nº. 1: Obtido "String constante", esperado "TGraphicsColor"

Erro: identificador idents não é  membro  de "DefaultDrawDataCell"

Obs: Não dá pra advinhar o código que voce colocou no evento :

procedure Tform1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;

Link para o comentário
Compartilhar em outros sites

  • 0

Olá Jhonas.

É o mesmo do post anterior:

De qualquer forma e qualquer modelo de procedimento que testei esbarra sempre neste detalhe desta constante de cor ou outra qualquer:

 

procedure Tform1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
BEGIN
     if (Column.Field.FieldName = 'campovalor') then
    begin
         if (Dtm.ZQuery1.FieldByName('campoValor').Value   < 0)   then
         begin

              DBGrid1.Canvas.Font.Color:= clRed;
           end
           else
              DBGrid1.Canvas.Font.Color:= clWindowText;
              DBGrid1.Canvas.FillRect(Rect);
              DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
      end;
END;
                            

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
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...