一个动态添加panel 和 删除panel的例子
2008-12-03 12:18
447 查看
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
PanelArry:Array[1..5] of TPanel;
end;
var
Form1: TForm1;
i:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
j:integer;
ExistsPanel:boolean;
begin
for i:=0 to 5 do
begin
if PanelArry[i]=nil then
begin
j:=i ;
ExistsPanel:=false;
break;
end
else
ExistsPanel:=true;
end;
if ExistsPanel then
begin
showmessage('Full,Genispan should learn more.');
exit;
end;
PanelArry[j]:=TPanel.Create(Self);
PanelArry[j].Left:= (j-1)*200;
PanelArry[j].Parent:=Self;
PanelArry[j].Caption:='Panel'+inttostr(i);
ListBox1.Items.Add(inttostr(j));
i:=i+1;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if ListBox1.ItemIndex<0 then
begin
showmessage('Choose a item in Listbox1,Genispan should be careful');
exit;
end;
PanelArry[strtoint(ListBox1.Items[ListBox1.ItemIndex])].Free;
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
end.
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
ListBox1: TListBox;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
PanelArry:Array[1..5] of TPanel;
end;
var
Form1: TForm1;
i:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
j:integer;
ExistsPanel:boolean;
begin
for i:=0 to 5 do
begin
if PanelArry[i]=nil then
begin
j:=i ;
ExistsPanel:=false;
break;
end
else
ExistsPanel:=true;
end;
if ExistsPanel then
begin
showmessage('Full,Genispan should learn more.');
exit;
end;
PanelArry[j]:=TPanel.Create(Self);
PanelArry[j].Left:= (j-1)*200;
PanelArry[j].Parent:=Self;
PanelArry[j].Caption:='Panel'+inttostr(i);
ListBox1.Items.Add(inttostr(j));
i:=i+1;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if ListBox1.ItemIndex<0 then
begin
showmessage('Choose a item in Listbox1,Genispan should be careful');
exit;
end;
PanelArry[strtoint(ListBox1.Items[ListBox1.ItemIndex])].Free;
ListBox1.Items.Delete(ListBox1.ItemIndex);
end;
end.
相关文章推荐
- 一个Spring Scheduler (Quartz) 动态添加,删除,修改任务的例子
- 一个简单的jQuery例子,动态添加表格和删除
- 一个Spring Scheduler (Quartz) 动态添加,删除,修改任务的例子
- 一个 NHIBERNATE+GRIDVIEW 添加删除修改的例子(单表)
- 使用jQuery动态创建一个表格(根据用户输入的内容添加一行数据,并且能逐行删除)
- 初步的学会用数组动态添加参数(一个添加存储过程参数的例子)
- Flex中如何利用titleIcon属性给Panel容器标题部添加一个ICON图标的例子
- NGUI ScrollView动态添加删除Panel错位问题
- 一个动态添加contextmenu的例子,以及其click事件
- Ext JS4.0中Tabpanel动态添加和删除Tab和重用Tab的方法
- DataGrid动态添加模板列的一个例子
- 动态添加删除ExpandableListView的item的例子
- Android 动态添加删除ExpandableListView的item的例子
- 一个 NHIBERNATE+GRIDVIEW 添加删除修改的例子(单表)
- DataGrid动态添加模板列的一个例子
- 动态生成 指定列数、行数的表格。并在每行最后一列添加一个删除按钮。点击删除按钮、删除本行!
- jQuery实现动态添加和删除一个div
- js动态添加和删除table的行例子
- 动态数组,数组初始化,数组内存释放,向数组中添加一个元素,向数组中添加多个元素,数组打印,顺序查找,二分查找,查找数组并返回地址,冒泡排序,改变数组中某个元素的值,删除一个数值,删除所有,查找含有
- 动态添加/删除一个对象