为什么Show不能恢复表格?

时间:2017-01-18 10:49:28

标签: delphi

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

我知道Show没有设置WindowState

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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