很简单,你可以利用form的hint来判断,
例如:
1. base_deviceTypeForm := Tbase_deviceTypeForm.Creat(application);
base_deviceTypeForm.hint:='a';然后在生成的时候判断一下hint就可以了!
例如:
1. base_deviceTypeForm := Tbase_deviceTypeForm.Creat(application);
base_deviceTypeForm.hint:='a';然后在生成的时候判断一下hint就可以了!
解决方案 »
- 谁能帮忙写个最简单的全局钩子的例子啊
- delphi中fsmdiform总是显示在最前面
- 讨论一下有那些办法让程序安全信更高!!!!!!!!!
- 今天发现被公司炒了,麻烦大家介绍个工作,捧捧场,并帮我估个价
- 请教一个简单问题,是关对str和对话框的
- 如何改变RichEdit中的光标?
- 一个有挑战性的问题。
- 那位大哥知道AddPrinterDriver的使用方法?
- Delphi里和VB的GotFocus和LoseFocus一样的事件是什么?
- 求助:我用vc编写了一个ActiveX,但是在Dephi里面调用时出了问题!
- 小弟还没学类,不知学好类有什么好处,一定要学吗?好象不用类也能编程啊?
- 把一个字符串中的字母大写转为小写最好的办法用什么
begin
base_deviceTypeForm := Tbase_deviceTypeForm.Creat(self);
base_deviceTypeForm.Show;
end;
在base_devicetypeform的onclose里
action:=cafree;
在base_devicetypeform的ondestroy里
base_devicetypeform:=nil
2、在主窗内定义一function
procedure TfrmMain.showform(FormClass: TFormClass);
var
i: integer;
begin
for i := 0 to self.MDIChildCount - 1 do
if (MDIChildren[i] is FormClass) then
begin
self.MDIChildren[i].BringToFront;
// sendmessage(MDIChildren[i].handle,wm_syscommand,SC_RESTORE,0);
MDIChildren[i].SetFocus;
Exit;
end;
FormClass.Create(self);
end;
3、调出子窗时用
procedure TfrmMain.N3Click(Sender: TObject);
begin
showform(Tfrmcbywcl);//frmcbywcl为子窗的name
end;
查找子窗休是否存在函数:
function checkMDIChildform(formname:string):boolean;
//formname:为要创建的子窗体名称;
var i:integer;
begin
result:=false;
for i:=0 to mainFrm.MDIChildCount -1 do
begin
if uppercase(mainFrm.MDIChildren[i].Name)=uppercase(formname) then
begin
result:=true;
break;
end;
end;
end;procedure TMainFrm.N7Click(Sender: TObject);
begin
if checkMDIChildform('MaterialFrm') then
MaterialFrm.WindowState:=wsMaximized
else MaterialFrm:=TMaterialFrm.Create(application);
end;