目的是窗体创建时隐藏,一段时间后将主窗体调出,单击button1后,将主窗体隐藏,间隔相同时间后主窗体再次被调出,请各位指点,谢谢
   
procedure Tmainfm.Timer1Timer(Sender: TObject);
begin
      timer1.Enabled:=true;
      application.messagebox('您有新消息!','提示',mb_ok);
      showwindow(mainfm.Handle,sw_restore);
      nid.szTip:='提示:您有新消息!';
      nid.hIcon:=application.Icon.Handle;
      Shell_NotifyIcon(NIM_MODIFY, @nid);
      timer1.Enabled:=false;
end;procedure Tmainfm.Button1Click(Sender: TObject);
begin
  try
    setwindowlong(application.Handle,GWL_exstyle,WS_EX_toolwindow);
  except
  end;
  showwindow(application.Handle,SW_SHOWMINNOACTIVE);
end;

解决方案 »

  1.   

    timer1.Enabled:=true;
    这段代码另外在别的事件里定义,或者初始化等等
      

  2.   

    timer1.Enabled:=true;与timer1.Enabled:=false;位置互换。
      

  3.   

    你最后设置timer1.Enabled:=false;所以你要在OnClick事件里加上Timer1.Enabled:=true;
      

  4.   

    procedure Tmainfm.Timer1Timer(Sender: TObject);
    begin
          timer1.Enabled:=true   //这句多余
      

  5.   

    你隐藏窗体的方法有问题,直接用 mainfm.hide