我有一个主窗体(MainForm)和一个MDI子窗口(TFormChild).我想创建多个TFormChild表单,但第一个必须以某种方式运行,所以我需要检测TFormChild窗口是否已经存在.
我使用此代码,但它无法正常工作:
function FindChildWindowByClass(CONST aParent: HWnd; CONST aClass: string): THandle;
begin
Result:= FindWindowEx(aParent, 0, PChar(aClass), NIL);
end;
Run Code Online (Sandbox Code Playgroud)
我称之为:
Found:= FindChildWindowByClass(MainForm.Handle, 'TFormChild')> 0;
Run Code Online (Sandbox Code Playgroud)
小智 13
在表单中,您可以引用MDIChildCount和MDIChildren属性.
例如 :
var
i: integer;
begin
for i:= 0 to MainForm.MDIChildCount-1 do
begin
if MainForm.MDIChildren[i] is TFormChild then
...
end;
...
end;
Run Code Online (Sandbox Code Playgroud)
称之为
Found:= FindChildWindowByClass(MainForm.ClientHandle, 'TFormChild')> 0;
Run Code Online (Sandbox Code Playgroud)
MDI子窗口是'MDICLIENT'的子项,ClientHandleTCustomFrom的属性保存句柄.
| 归档时间: |
|
| 查看次数: |
3299 次 |
| 最近记录: |