为什么显示不恢复表单



这更像是一个理论问题:我很好奇为什么Show方法不会恢复形式(如wsNormal)。

我知道节目没有设置WindowState

procedure TCustomForm.Show;
begin
  Visible := True;
  BringToFront;
end;

但是为什么?我的意思是,我希望表单在我调用 Show 时实际显示在屏幕上。显然,这并不总是会发生。更确切地说,当窗口最小化时,它不会发生。

那么,Show背后的逻辑是什么?为什么他们省略了WindowsState?

可见性

和窗口状态只是独立的属性。您可能希望更改一个而不是另一个是完全合理的。

VCL 设计人员所做的设计选择是以相当直接的方式将基础 Win32 库映射到 VCL。这意味着VCL设计人员可以灵活地做出自己的选择。例如,如果VCL按照您建议的方式设计,那么在不更改窗口状态的情况下更改可见性将变得更加困难。

最新更新