property Cells[ACol, ARow: Integer]: string;帮助文件里说cells[i,j]为string,如何将其改为Tlistbox?即每个cell显示一个listbox,每个listbox有其独立的属性、方法、事件。谢谢,将高分回馈您~

解决方案 »

  1.   

    用advstringgrid吧,操控简单
    如果是用stringgrid,也可以自己加上listbox,但是自己写代码控制有点麻烦,要根据监控cell焦点的变化,来判断什么时候该显示listbox。
      

  2.   

    procedure TForm11.FormCreate(Sender: TObject);
    begin
      StringGrid1.Cells[1, 1] := 'abc';
      StringGrid1.Cells[1, 2] := 'abcd';  cbb1.Clear;
      cbb1.Items.Add('a');
      cbb1.Items.Add('b');
      cbb1.Items.Add('c');
    end;procedure TForm11.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
      var CanSelect: Boolean);
    begin
      cbb1.Left := StringGrid1.CellRect(ACol, ARow).Left;
      cbb1.Top := StringGrid1.CellRect(ACol, ARow).Top;
      cbb1.Parent := StringGrid1;
      cbb1.Width := stringgrid1.CellRect(ACol, ARow).Right-StringGrid1.CellRect(ACol, ARow).Left;
      cbb1.ItemIndex :=0;
      cbb1.Visible := TRUE;
    end;