OnDrawColumnTitle, how Can I draw Default? lazarus / 16-Databases ---------------------------------------------------------------------- hamacker · 2023-11-23 13:55 Hi ALL, I doing a column 0 as icon, and all others column as default drawing in dbgrid, but I don´t know how I do it. If I would like only personalize column 0 and all others will be default. procedure TfmBrowse_Almox.Grade_PesquisaDrawColumnTitle(Sender: TObject;   const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); var   buf:Tbitmap; begin   with (Sender as TDBGrid) do    begin      if DataCol = 0 then      begin        buf:=Tbitmap.Create;        try          imagelist_colGrids16x16.GetBitmap(_db_dbgrid_iconcol_filtro, buf); // 4 = filtro          canvas.Draw(            Rect.CenterPoint.x-(imagelist_colGrids16x16.Width div 2),            Rect.CenterPoint.y-(imagelist_colGrids16x16.Height div 2),            buf);        finally          buf.Free;        end;      end      else      begin        // I would like to DrawColumnTitle as default to other columns, how?        // there is a DefaultDrawDataCell way for this event?      end;    end; end; ---------------------------------------------------------------------- korba812 · 2023-11-24 13:34 Default drawing of column header is done before OnDrawColumnText (and OnDrawColumnCell for data cell) event handlers are called, so if you want to leave cell drawn by default just don't draw anything in your event handler. So your current OnDrawColumnTitle event handler you specified above will work fine. ---------------------------------------------------------------------- Nicole · 2023-12-15 16:03 This will do the DrawColumnCell-Event for you. The event will go one line by line and there cell by cell You start by   with (Sender as TDBGrid) do begin  .... end; Within the loop you can select for the columns, e.g.   if (Column.FieldName='myhHader') then.... If this is the name / number of your first column you can abort the prozess after this. This means: Every line will draw the cell of the first column and skip the rest of the lines' cells. If you need a complete code example, pls post again.