Adding components to grids

sorry I have no component for. But I have a suggestion. Do by your own.
Please have a look at the code below and you will see that it's very simpel to add
components in a Grid.

unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, Grids;

type
  TForm1 = class(TForm)
    Grid: TStringGrid;
    CB: TComboBox;
    procedure GridDrawCell(Sender: TObject; ACol, ARow: Integer;
      Rect: TRect; State: TGridDrawState);
    procedure GridSelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    procedure CBChange(Sender: TObject);
  private
    {Private-Deklarationen}
  public
    {Public-Deklarationen}
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.GridDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  If ((ACol=3) and (ARow=3)) and (gdFocused in State) then
    begin
    CB.Left := Rect.Left + Grid.Left;
    CB.Top := Rect.Top + Grid.top;
    CB.Width := Rect.Right -Rect.Left+3;
    CB.Height := Rect.Bottom -Rect.Top;
    CB.Visible:=True;
    end;
end;

procedure TForm1.GridSelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
begin
    If ((ACol<>3) or (ARow<>3))  then
      CB.Visible:=False;

end;

procedure TForm1.CBChange(Sender: TObject);
begin
  Grid.Cells[3,3]:=CB.Items[CB.ItemIndex];
  CB.Visible:=False;
end;

end.

> I look for grid that has various controls as in-line editor -
> combobox, list etc. not edit only. Does such component (grid) exist?
> Also where can I find info on writing my own in-line editors for
> grid and how to do that? Point me on any components, sources,
> documentation please.