No había visto este hilo. No pongas el padre del combo al stringgrid, intenta que el padre sea el Form y si acaso haces un combo.bringToFront para traerlo al frente.
Lo que intento decir es que simules que el combo esté dentro del grid cambiando su tamaño como bien haces, pero que en realidad pertenezca al Form.
Edito: codigo sucio pero funcional:
Código Delphi
[-]
const Filas=5;
var
L :Array[1..Filas]of TComboBox;
i,j:Integer;
begin
stringgrid1.DefaultRowHeight := 21;
for i :=1 to Filas do
begin
L[i]:=TComboBox.Create(self);
L[i].Parent:=self;
l[i].Items.CommaText:= 'pepe,antonio,jose';
l[i].Left := stringgrid1.Left + stringgrid1.cellrect(1,i).Left+1;
l[i].Top := stringgrid1.Top +stringgrid1.cellrect(1,i).top+1;
l[i].Width:= stringgrid1.cellrect(1,i).Right
- stringgrid1.cellrect(1,i).Left;
for j:=1 to 10 do L[i].Items.Add('Opcion:'+IntToStr(j));
end;
end;
SAludos