我的程序运行之后,只要第一次调出一form就弹出一个对话框要不要打开一个txt文件,第二次打开这个窗体就不会弹出来了F9运行这个程序,又打开这个form,又弹出这个对话框。单步运行,找不到原因,现在我想只要打开这个form就自动模拟按下ESC键让用户感觉不到这个对话框,请问如何写这个自动关闭对话框的代码,谢谢

解决方案 »

  1.   

    1、加个计时器。
    2、自已向消息窗口发送“ESC”按键用API函数。
      

  2.   

    楼主是不是想,当第一次打开这个Form时,然后选择指定一个Txt文件
    然后第二次打开时,如果已经指定了Txt文件,那么就不弹出对话框?
    你把信息保存在配置文件里就得了.
    procedure TForm1.FormCreate(Sender: TObject);
    var
      ini:TIniFile;
      FileName:string;
      odgOpenTxt:TOpenDialog;
    begin
      ini:=TiniFile.Create(ExtractFilePath(Application.ExeName)+'Config.ini');
      odgOpenTxt:=TOpenDialog.Create(nil);
      odgOpenTxt.Filter:='文本文档|*.Txt';
      FileName:=Ini.ReadString('TXT','FileName','');
      if (FileName='') and (odgOpenTxt.Execute) then
      begin
        ini.WriteString('TXT','FileName',odgOpenTxt.FileName);
      end;
      Ini.Free;
      FreeAndNil(odgOpenTxt);
    end;
      

  3.   

    参考
    http://quester.blog.sohu.com/1895253.html
      

  4.   

    你是不是调用了别人的DLL,才会弹出对话框的!
    如果都是自己的程序,这个问题都解决不了,建议LZ那还要继续努力!