form.show(5分)

  • 主题发起人 主题发起人 cliff1977
  • 开始时间 开始时间
C

cliff1977

Unregistered / Unconfirmed
GUEST, unregistred user!
在application.creatform中,好像只有第一个form执行form.show,其他的不执行吧?<br>如果其他也执行的话,是什么原因呢?
 
可能在别的窗体中有调用到.
 
察看application.creatform的源码 我可以看到这样急剧代码<br>if (FMainForm = nil) and (Instance is TForm) then<br> &nbsp;begin<br> &nbsp; &nbsp;TForm(Instance).HandleNeeded;<br> &nbsp; &nbsp;FMainForm := TForm(Instance);<br> &nbsp;end;<br><br>这是什么意思呢 其实是指定主窗体(其实还不是真正的主窗体 Delphi的真正主窗体很怪 大小是为0的 具体可参见李维的那本《深处浅出VCL》)<br><br>为什么你看到的只有第一个呢 那是因为在<br> Application.Run; 中 有这样一句话<br>FMainForm.Visible := True; 即把主窗体显示出来<br>这个和show的动作其实是一样的就是少个Bringtofront<br><br>其他的窗体已经创建好了 只不过你是看不到的
 
后退
顶部