读书人

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

发布时间: 2013-01-23 10:44:49 作者: rapoo

虚心求教: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;

读书人网 >.NET

热点推荐