在MDI中,如何实现每次只打开一个CHILD窗体,如果该窗口最小化了,在再次调用时将其最大化即可,不重复打开。
解决方案 »
- 如何编辑DBGrid的内容?
- 怎样通过Internet远程访问一个Access数据库!
- 大型MIS软件开发的几点体会
- (奇怪!!)不能拷贝目录!!help........
- delphi 根据返回数据指定打印机
- 我使用TWebBrowser自编的浏览器的时候为什么会出现这个错误???
- 关于字符串的比较
- 怎样读取一台计算机的显示分贝率
- 关于异常值得探讨的问题,不难,请大虾们指点
- 请问如何在用TMediaPlayer控件播放VCD中的.DAT文件时,控制使用那个声音通道?
- 请问怎样在程序中自动移动记录指针(用DBGrid)?
- 我想在一个表里增加一个新列,相关语句好像看到过,但不知道具体的书写格式,谁能帮一下忙吗?
在form1中调用显示form2时用form2的var变量form2,
if form2=nil then
form2:=Tform2.Create(nil);
form2.show;
Application.CreateForm(TFm_Pdqkb, Fm_Pdqkb);
end else begin
Fm_Pdqkb.Show;
Fm_Pdqkb.WindowState:=wsNormal;
Fm_Pdqkb.BringToFront;
end;
begin
//这里是assigned(Form_add),当然这个Form_add必须是你已经定义好的
if assigned(Form_add)<>nil then
begin
Form_add:=TForm_add.Create(Application); //创建指定MDI子窗口
Form_add.Show;
end
else
Form_add.BringToFront; //把它Show在最前面
end;
只打开一个子窗体写起来太麻烦
告诉你思路
从project中将子窗体的创建去掉
在用到这个窗体时,在创建
比如说子窗体form2
用时
form2:=TForm2.create(self);
begin
Application.CreateForm(TForm1, Form1);
end
else
begin
if Form1.WindowState = wsNormal then
Form1.WindowState := wsMaxmized; Form1.Show;
Form1.BringToFront;
end;form1关闭事件中写加入
action := cafree;