TreeView1Changing(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
begin
AllowChange:=false;
if 关闭 then exit;
关闭;
释放;
end;
TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
创建;
打开;
end;
用node.data保存窗体的类名,用findclass或getclass创建窗体
var AllowChange: Boolean);
begin
AllowChange:=false;
if 关闭 then exit;
关闭;
释放;
end;
TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
创建;
打开;
end;
用node.data保存窗体的类名,用findclass或getclass创建窗体
解决方案 »
- 两个FORM,如何使一个Form总在另外一个FORM的前面?鼠标点后面的Form也不能让前面的跑后面去。
- dbchart问题
- 很希望你们的帮助,想学多线程和DLL的最好有那些容易上手的书呢?
- stringgrid的问题??急用??
- 外销员资格统考
- 我想在数据库存储一个多行文本, 返回的时候要这个文本原封不动的返会
- 我在delphi6里调用closehandle函数怎么出错了?
- 请问有没有获取打印机是否空闭或错误的API?
- 谁用过这句 webbrowser1.Document.QueryInterface(IHTMLDocument2,iDoc1);
- 怎样用SENDmessage函数改变一个输入焦点 如EDIT1中的内容?
- ===如何把处在系统状态栏的图标Kill掉,而不影响程序的继续进行.比如拨号那个图标.==
- 我在程序里加了一个第三方控件后用close语句程序试运行时不能正常关闭,窗体倒是看不见了,但要运行run-program reset才能把程序彻底关闭
var AllowChange: Boolean);
begin
AllowChange:=false;
if 关闭 then exit;
关闭;
释放;
AllowChange:=true;
end;
TreeView1Change(Sender: TObject; Node: TTreeNode);
begin
创建;
打开;
end;
用node.data保存窗体的类名,用findclass或getclass创建窗体
onchanging事件中
procedure ttreeview1.TreeView1Changing(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
begin
AllowChange:=False;
for i:=0 to ControlCount-1 do
if controls[i] is Tfrom then
begin
Tform(form1.controls[i]).close;
AllowChange:=True;
break;
end;
end;procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var myform:Tform;
begin
myForm:=Tform.Create(sender);
....
end;
Form2.ManualDock(form1.panel, nil, altop);
及将设计好的form2 dock到form1.panel上
大体思路就是这样
onchanging事件中
procedure ttreeview1.TreeView1Changing(Sender: TObject; Node: TTreeNode;
var AllowChange: Boolean);
begin
AllowChange:=False;
for i:=0 to ControlCount-1 do
if controls[i] is Tfrom then
begin
Tform(controls[i]).close; //关闭
AllowChange:=True;
Tform(controls[i]).free; //释放
break;
end;
end;procedure TForm1.TreeView1Change(Sender: TObject; Node: TTreeNode);
var myform:Tform;
begin
myForm:=Tform.Create(sender); //创建
....
end;