怎样在一个Panel上动态新建出指定个数的Shape控件?比如新建出的Shape7我要他们生成7行4列。每行每列间的间距为20个象素,怎么做到?
解决方案 »
- delphi线程中动态创建ADO控件时遇到的致命性问题
- Excel无法调用,急!!!!
- treeview item排序问题
- 置疑『目前,你在工作中使用率排在第一位的开发语言是?』的结果
- 操作INI文件!!!!!
- ADOQuery 中如何使用 select count?
- 我设置了一个COMBOBOX的控件,功能是随着下拉框的变化STRINGGID随着变化。可是有个问题!请教了
- 讨论主从表问题,欢迎大家积极参与讨论!
- 请问有没有能读出dll里函数的控件?万分感谢,一定给分!
- 如何用软件向网页自动填写用户名和密码?
- 求购印刷厂管理系统源代码!!(最好是比较完善的)
- 我想用delphi作一个树结构,包括节点的各种操作,就是一般的树.
aShape: Array[0..4];
i: Integer;
定义成数组;
begin
for i:=0 to 3 do
begin
aSHape[i] := TShape.Create;
aSHape[i].Parent := Panel1;
aShape[i].Left := CONST_LEFT;
if i<>0 then
aShape[i].Top := aShape[i-1].Top + aShape[i].Height + 20
else
aShape[i].Top := CONST_TOP;
end;
end;
MyShape:array[1..28] of TShape;
i,j:integer;
topdefine,leftdefine:integer;
begin
topdefine:=0;leftdefine:=0;
for i:=1 to 7 do
begin
leftdefine:=0;
for j:=1 to 4 do
begin
MyShape[i*j]:=TShape.Create(panel1);
with MyShape[i*j] do
begin
Parent:=panel1;
Width:=20;
Height:=20;
top:=topdefine;
left:=leftdefine;
end;
leftdefine:=leftdefine+40;//20个象素列间距
end;
topdefine:=topdefine+40;//20个象素行间距
end;
end;
for i:=1 to strtoint(edit1.text) do
...
for j:=1 to strtoint(edit2.text) do
...具体的限制和异常处理你可以自己处理一下,最好不要象上面的直接strtoint了,上面是个例子