嵌入ComboBox控件就Ok了 procedure TForm1.SStringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean); var TempRect:TRect; begin TempRect:=StringGrid1.CellRect(ACol,ARow); TempRect.Left:=TempRect.Left+StringGrid1.Left; TempRect.Right:=TempRect.Right+StringGrid1.Left; TempRect.Top:=TempRect.Top+StringGrid1.Top; TempRect.Bottom:=TempRect.Bottom+StringGrid1.Top; with ComboBox1 do begin Left:=TempRect.Left+1; Top:=TempRect.Top+1; Width:=(TempRect.Right+1)-Left; Height:=(TempRect.Bottom+1)-Top; Visible:=True; SetFocus; end; end;
procedure TForm1.SStringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer; var CanSelect: Boolean);
var
TempRect:TRect;
begin
TempRect:=StringGrid1.CellRect(ACol,ARow);
TempRect.Left:=TempRect.Left+StringGrid1.Left;
TempRect.Right:=TempRect.Right+StringGrid1.Left;
TempRect.Top:=TempRect.Top+StringGrid1.Top;
TempRect.Bottom:=TempRect.Bottom+StringGrid1.Top;
with ComboBox1 do
begin
Left:=TempRect.Left+1;
Top:=TempRect.Top+1;
Width:=(TempRect.Right+1)-Left;
Height:=(TempRect.Bottom+1)-Top;
Visible:=True;
SetFocus;
end;
end;