Is there a way in Delphi XE2 to keep the InPlaceEditor highlighted in a StringGrid when the grid loses focus on another modeless form?
My current StringGrid options:

If not, I was hoping to use the code below to keep highlighting the current cell after losing focus, but I have some problems with this, leaving the cells selected when they are no longer the current cell.
Do I need to add the "else" code to the code below to change the color to the original on unselected cells? Any reservations?
procedure TForm1.sgMultiDrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState); begin if (ACol = sgMulti.Col) and (ARow = sgMulti.Row) then begin sgMulti.Canvas.Brush.Color := clYellow; sgMulti.Canvas.FillRect(Rect); sgMulti.Canvas.TextRect(Rect, Rect.Left, Rect.Top, sgMulti.Cells[ACol, ARow]); if gdFocused in State then sgMulti.Canvas.DrawFocusRect(Rect); user end; end; { sgMultiDrawCell}
Edit: The screenshot below explains how it behaves today. I want the current cell, having lost focus, to be more understandable than the bottom screen capture.

source share