我做触摸屏时,设置定时器,当达到一定时间无人使用时将程序回到主窗口,并关闭其他所有打开了的窗体,请问我该怎样监测哪些窗体正打开着呢?

解决方案 »

  1.   

    1、可以用screen.formcounte(可能是这个,手边没有delphi)直到当前打开窗口的数目,然后循环关闭caption不是主窗的那些就可以乐2、或者用一个Tlist来保存打开的窗口(打开的时候家进去,关闭的时候山除掉纪录),然后到达条件之后就循环关闭就可以乐
    3、用数组保存窗口据柄方法如2,到达条件之后发送WM_CLOSE消息给这些句柄。
      

  2.   

    var
      i : integer;
      t : integer;
    begin
      t:=0;
      for I:=0 to  self.MDIChildCount-1 do
      begin
        if self.MDIChildren[i] is TForm then
        begin
         Showmessage(self.MDIChildren[i].Name);
        inc(t);
        end;
      end;
      Showmessage(Inttostr(t));