如何报stringgrid的列变成具有下拉框的功能?

解决方案 »

  1.   

    嵌入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;