按BUTTON后显示Application.messagebox('hello world','提示',mb_ok or mb_iconinformation);
如果没有按OK按钮,那么该messagebox框在1秒后会自动关闭,请教该如何操作?

解决方案 »

  1.   

    Application.messagebox('hello world','提示',mb_ok or mb_iconinformation); 
    sleep(1000);
      

  2.   

    楼上 不起作用啊?messagebox不会自动消失
      

  3.   

    纯粹要操作Application.messagebox难度比较大,当然也可以实现!所以我推荐你自己搞一个ShowModal的窗体来模拟实现,这样要好作得多
      

  4.   

    用个Timer1procedure TForm1.Button1Click(Sender: TObject);
    begin
    Timer1.Enabled:=True;
    Application.messagebox('hello world','提示',mb_ok or mb_iconinformation);
    end;procedure TForm1.Timer1Timer(Sender: TObject);
    var
    h:THandle;
    begin
    h:=FindWindow(nil,'提示');
    if h<>0 then
    begin
    SendMessage(h,WM_CLOSE,0,0);
    end;
    Timer1.Enabled:=False;
    end;
      

  5.   

    1.放一个timer控件,设置时间建个为1秒procedure TForm1.btn1Click(Sender: TObject);
    begin
      tmr1.Enabled := True;
      Application.messagebox('hello world','提示',mb_ok or mb_iconinformation);end;procedure TForm1.tmr1Timer(Sender: TObject);
    var
      hMsgBox : THandle;
      dExitCode : Cardinal;
    begin
      hMsgBox := FindWindow(nil, '提示');
      SendMessage(hMsgBox, WM_CLOSE, 0,0);
      tmr1.Enabled := False;
    end;
      

  6.   

    这个话题干嘛集中在那个MessageBox上。
    去百度一下,Delphi 键盘
    用Hook技术+多线程。
    1秒后模拟按回车,就是了。
      

  7.   

    如果timer在产生提示框的窗体上,由于提示框为模式窗口,使那个窗口上的运行暂停了,所以不会执行了.
    在新建一个窗体,让他随着程序启动时创建,然后把timer放到这个窗体上,执行关闭提示框的代码,这样就可以了
      

  8.   

    如果timer在产生提示框的窗体上,由于提示框为模式窗口,使那个窗口上的运行暂停了,所以不会执行了.
    在新建一个窗体,让他随着程序启动时创建,然后把timer放到这个窗体上,执行关闭提示框的代码,这样就可以了
      

  9.   

    如果timer在产生提示框的窗体上,由于提示框为模式窗口,使那个窗口上的运行暂停了,所以不会执行了.
    在新建一个窗体,让他随着程序启动时创建,然后把timer放到这个窗体上,执行关闭提示框的代码,这样就可以了
      

  10.   

    timer是单独的线程,怎么会不执行?
    timer要在messagebox前enable