我需要一种方法来确定我的应用程序的mainform是否是fsMDIForm。
如何做到这一点?
答案 0 :(得分:9)
您可以测试Application.MainForm.FormStyle
。
答案 1 :(得分:0)
假设您想知道另一个进程的主要表单(除了调用应用程序之外),那么如果您拥有该主表单的句柄,请使用:
MDIActive := FindWindowEx(MainFormHandle, 0, PAnsiChar('MDICLIENT'), nil) <> 0;
答案 2 :(得分:0)
我最终得到了一个功能
function GetMovementArea: TRect;
var
MovementRect: TRect;
begin
if Application.MainForm.FormStyle = fsMDIForm then
Windows.GetWindowRect(Application.MainForm.ClientHandle, MovementRect)
else
SystemParametersInfo(SPI_GETWORKAREA, 0, @MovementRect, 0);
Result := MovementRect;
end;
这会返回一个TRect,我的表单可以在其中移动