我有一个用Delphi 7编写的监控应用程序,它运行在辅助监视器的一部分上。如果窗口被最小化(例如,如果我在主监视器上使用" Windows-D"(查看桌面)命令),我希望将其恢复到正常可见性。
我每隔几秒就尝试用一个计时器激活这段代码:
if (Mainform.WindowState <> wsNormal ) then
Mainform.WindowState := wsNormal; {restore main window if minimized}
它不起作用。为了调试它,我更改了代码,以便在程序运行时将Mainform.WindowState的值记录到文件中。即使主窗体窗口最小化,该值仍然是正常的。为什么呢?
答案 0 :(得分:7)
因为主要形式没有最小化。当应用程序最小化时,VCL只隐藏主窗体。您可以测试应用程序是否已最小化,如果是,则还原:
if IsIconic(Application.Handle) then
Application.Restore;