递归调用生成动态按钮,像一个树一样,比如:
a
--aa1
--aa2
b
--bb1
--bb2
生成按钮的排布为:a aa1 aa2
b bb1 bb2
用递归调用生成
a
--aa1
--aa2
b
--bb1
--bb2
生成按钮的排布为:a aa1 aa2
b bb1 bb2
用递归调用生成
解决方案 »
- delphi中怎么计算两个日期差?
- 请教delphi怎样实样诸如Delphi编程环境下对象查看器功能.
- 请教如何动态的修改用fastreport作的报表的页长,根据记录数的多少来控制,有多少长就打多长,不换页。类似POS机打出来的小票。
- 关于用Delphi开发的程序打包问题?
- 怎样把一个字符串转换成二进制,并存放在一个buffer里?
- 在下很着急啊!!!请教啊!请教!!!关于Install Shield For D5!!!
- 谁能解决这个问题,我就把分全给她,怎模样(在线等待)
- 用Variant操作Excel时,如何才能读出Excel中的一个给定格子的数据并其放入string变量里?
- 学习SPY++
- 数据传输与校验的问题?
- REPLACE函数未定义问题
- 求助,ocx开发问题
a aa1 aa2
b bb1 bb2
var
Button: TButton;
begin //这里是创建按钮的代码
Button := TButton.create(self);
...
//
Button.top := row*20; //这里加个固定值的话就是按值间隔
Button.Left := col*50; inc(row);
inc(col);
if (row>2) and (col>3) then exit;//设为2行3列
CreateNextButton(row,col);
end;
第一次调用是 CreateNextButton(0,0);没环境调试,可能会有点小错误...
procedure CreateNextButton(row,col:integer);
var
Button: TButton;
begin //这里是创建按钮的代码
Button := TButton.create(self);
...
//
Button.top := row*20;
Button.Left := col*50; if col<3 and row<2 then
inc(col)
else begin
inc(row);
col := 0;
end; if (row>=2) or (col>=3) then exit;//设为2行3列
CreateNextButton(row,col);
end;
但是还是要谢谢你给了我思路
就是把节点换成按钮