这更像是一个理论问题:我很好奇为什么Show
方法也不会恢复表单(如wsNormal
)。
我知道Show没有设置WindowState
:
procedure TCustomForm.Show;
begin
Visible := True;
BringToFront;
end;
但为什么呢?我的意思是,当我打电话给Show时,我希望表单实际显示在屏幕上。显然,这不会发生。更确切地说,当窗口最小化时不会发生。
那么,Show背后的逻辑是什么?他们为何忽略了WindowsState?
答案 0 :(得分:2)
可见性和窗口状态只是独立的属性。完全合理的是,您可能希望更改一个而不是另一个。
VCL设计人员的设计选择是以相当直接的方式将底层Win32库映射到VCL。这意味着VCL设计师可以灵活地做出自己的选择。如果VCL设计的方式与你建议的方式相比,那么在不改变窗口状态的情况下更改可见性会更加困难。例如。