首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

虚心StringGrid.cells[i,j]可以定义为Tlistbox吗

2013-01-23 
虚心求教:StringGrid.cells[i,j]可以定义为Tlistbox吗?property Cells[ACol, ARow: Integer]: string帮助

虚心求教:StringGrid.cells[i,j]可以定义为Tlistbox吗?
property Cells[ACol, ARow: Integer]: string;

帮助文件里说cells[i,j]为string,如何将其改为Tlistbox?即每个cell显示一个listbox,每个listbox有其独立的属性、方法、事件。

谢谢,将高分回馈您~


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

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;

热点排行