Hab jetzt folgendes gemacht:
Die ComboBox wird direkt über die entsprechende Zelle gezeichnet:
Delphi-Quellcode:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
var
r: TRect;
begin
ComboBox1.visible := true;
r := Stringgrid1.CellRect(AktCellX, AktCEllY);
Combobox1.SetBounds(r.Left + Stringgrid1.Left,
r.Top + Stringgrid1.Top,
r.Right - r.Left,
r.Bottom - r.Top);
end;
Und wird in ihrem OnChange-Ereignis wieder ausgeblendet:
Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
ComboBox1.visible := false;
StringGrid1.Cells[aktCellX,aktCellY] := ComboBox1.Items[ComboBox1.itemindex];
ComboBox1.itemindex := 0;
end;
Trotzdem thx @ Lannes für den Tipp