Bruno Stort wrote: > Galera estou tentando pintar células do StringGrid, mais depois que pinta eu > perco oque estava escrito dentro da célula. > > > > Alguém sabe como fazer?
Depois de pintar o fundo, você precisa usar o Canvas.TextRect para escrever o conteúdo da célula. -- João Morais > Estou tentando fazer como abaixo: > > > > > > procedure TfrmAPMovHorarios.stgHorarioMontanteDrawCell(Sender: TObject; > > ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); > > var ColorOld : TColor; > > ColorPen : TColor; > > begin > > if ((ACol = 1) and (ARow = 1)) or > > ((ACol = 1) and (ARow = 3)) or > > ((ACol = 1) and (ARow = 5)) then > > begin > > ColorOld := stgHorarioMontante.Canvas.Brush.Color; > > ColorPen := stgHorarioMontante.Canvas.Pen.Color; > > > > stgHorarioMontante.Canvas.Brush.Color := clRed; > > stgHorarioMontante.Canvas.Pen.Color := clBlack; > > > stgHorarioMontante.Canvas.TextRect(Rect,0,10,stgHorarioMontante.Cells[ACol, > ARow]); > > > > stgHorarioMontante.Canvas.Brush.Color := ColorOld; > > stgHorarioMontante.Canvas.Pen.Color := ColorPen; > > end; > > end; > > > > [As partes desta mensagem que não continham texto foram removidas] > > >