我有一个主窗体(MainForm)和一个MDI子窗口(TFormChild).
我想创建多个TFormChild表单,但第一个必须以某种方式运行,所以我需要检测TFormChild窗口是否已经存在.
我想创建多个TFormChild表单,但第一个必须以某种方式运行,所以我需要检测TFormChild窗口是否已经存在.
我使用此代码,但它无法正常工作:
function FindChildWindowByClass(CONST aParent: HWnd; CONST aClass: string): THandle; begin Result:= FindWindowEx(aParent,PChar(aClass),NIL); end;
我称之为:
Found:= FindChildWindowByClass(MainForm.Handle,'TFormChild')> 0;
解决方法
称之为
Found:= FindChildWindowByClass(MainForm.ClientHandle,'TFormChild')> 0;
MDI子窗口是TCustomFrom的‘MDICLIENT’,ClientHandle
属性的子项.