delphi - 为什么 Show 不恢复表单?

标签 delphi

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

我知道Show没有设置WindowState :

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

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

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

最佳答案

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

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

关于delphi - 为什么 Show 不恢复表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41717385/

相关文章:

database - 如何在主/明细关系中插入记录

Delphi找不到System.dcu;默认路径设置应该是什么?

delphi - 为什么 DateUtils.pas 中的 DateTimeToMilliseconds 被标记为内部?

C# 相当于 Delphi 的 DisableControls/EnableControls

delphi - 如何在非事件表单上显示提示

delphi - 如何在Delphi中为伪浏览器启用cookie?

delphi - Delphi DLL 和 Delphi EXE 之间的回调功能

android - 使用 Delphi OpenGL 应用程序在 Android 中显示软键盘(无 FMX)

delphi - 在网格上拖动时拖动图像更改

delphi - 将位图存储在文本文件中