Das liegt an TCustomGrid.WMCommand, das versäumt ein inherited aufzurufen, wenn es mit dem NotifyCode nichts anfangen kann.
Abhilfe kann z.B. eine Interposer Klasse für TStringGrid liefern, die das entsprechend umsetzt, ist aber unschön.
Etwas aufwändiger, aber weniger invasiv: Zwischen ComboBox und StringGrid ein TPanel als Parent legen. Hier das Prinzip:
Delphi-Quellcode:
ComboBox_aktiv := TComboBox.Create(self);
var panel := TPanel.Create(Self);
panel.BevelOuter := bvNone;
panel.AutoSize := True;
panel.Parent := StringGrid1;
with ComboBox_aktiv do
begin
Parent := panel;
// Parent := Form5;
Style := csDropDownList;
Visible := false;
Items.Add('aus');
Items.Add('ein');
OnSelect := ComboBox_OnSelect;
OnExit := ComboBox_OnExit;
end;