将OK按钮属性modalresult设为mrOK,将cancel按钮属性modalresult设为mrcancel.
在主窗体中用如下代码判断
if frdlg.showmodal=mrok then  //frdlg为弹出框名字
..
else
..

解决方案 »

  1.   

    好像inputbox()不能判断用户按下的是那一种按钮,如要有返回按钮类型的输入框请用:
    InputQuery()当返回True时,表示按下了“确定”按钮,
    如下例题:procedure TForm1.Button1Click(Sender: TObject);
    var
      NewString: string;
      ClickedOK: Boolean;
    begin
      NewString := 'Default String';
      Label1.Caption := NewString;
      ClickedOK := InputQuery('Input Box', 'Prompt', NewString);
      if ClickedOK then            { NewString contains new input string }
        Label1.Caption := 'The new string is ''' + NewString + '''';
    end;
      

  2.   

    对不起,对inputbox来说。可设一默认值,如:'NULL'.
    s:=inputbox(...).
    如果s依旧为空值,则认为用户按下的是cancel
      

  3.   

    If the user chooses the Cancel button, InputBox returns the default string. If the user chooses the OK button, InputBox returns the string in the edit box.
      

  4.   

    最好使用InputQueryprocedure TForm1.Button1Click(Sender: TObject);
    var
    s:string;
    begin
      if InputQuery('Input Box', 'Prompt', s) then //按ok
      ...
      else//按cancel
    end;
    //s为用户输入的东东,要先定义
      

  5.   

    好像不能变中文,帮助里只说了INPUTBOX按CANCEL返回默认值,
    一定要判断是按地哪个键用INPUTQUERY,没有提到可以变中文的
    呵呵,我问过很多人,好像是系统提供的,没有办法换,
    实在不行自己做一个外形看来一样的吧....
      

  6.   

    按钮当然可以变成中文的了,只要修改Consts.pas,把编译的.dcu拷到lib下。
    别忘了修改一下graphic.pas把字体变成宋体,否则字不好看。
    方法一样。