这是DELPHI内部的aPI,是已经做好的程序。所以你只要用就行。

解决方案 »

  1.   

    你用的不是新建的form吧!!!
    如果用messagebox当然不用加代码就可以关闭了!!!
      

  2.   

    因为它的Cancel属性是True被showModal的窗体中(主要是对话框),放一个Cancel属性是True的按钮,不用写任何语句,点它就执行关闭操作。
      

  3.   

    忘了,按钮的ModalResult属性要设为除mrNone以外的任何值。按钮 只要设了ModalResult属性,并且不是mrNone,都能执行关闭对话框的操作,不用写代码。
      

  4.   

    我说的是DELPHI中自带的ABOUT BOX,不是我人自己设的messagebox,或用窗体做的对话框。
      

  5.   

    把里面的代码翻出来看看就明白了,可以按照自己的意愿修改,比如如果你感觉确定按钮的标题是英文不好,都可以改一下,贴一个自己改的例子给你function Query(const ACaption: string; AFields: TStringList; var Fieldname,
      FieldValue: string): Boolean;
    var
      Form: TForm;
      ComboBox: TComboBox;
      STX, STY: TStaticText;
      Edit: TEdit;
      DialogUnits, P: TPoint;
      BtnTop, BtnWidth, BtnHeight: Integer;
    begin
      Result := False;  Form := TForm.Create(Application);
      try
        with Form do
        begin
        Canvas.Font := Font;
        P.X := 6;
        P.Y := 13;
        DialogUnits := P;
        BorderStyle := bsDialog;
        Caption := ACaption;
        ClientWidth := 270;
        ClientHeight := 128;
        Position := poScreenCenter;
        end;    ComboBox := TComboBox.Create(Form);
        with ComboBox do
        begin
          Parent := Form;
          Left := 100;
          Top := 20;
          Style := csDropDownList;
          Items.AddStrings(AFields);
          if Items.Count > 0 then ItemIndex := 0;
        end;    STX := TStaticText.Create(Form);
        with STX do
        begin
          Parent := Form;
          Caption := '字段名称';
          Left := 40;
          Top := ComboBox.Top + 3;
        end;    Edit := TEdit.Create(Form);
        with Edit do
        begin
          Parent := Form;
          Left := ComboBox.Left;
          Top := ComboBox.Top + ComboBox.Height + 15;
          Width := ComboBox.Width;
          MaxLength := 255;
          SelectAll;
        end;    STY := TStaticText.Create(Form);
        with STY do
        begin
          Parent := Form;
          Caption := '字  段  值';
          Left := STX.Left;
          Top := Edit.Top + 3;
        end;    BtnTop := Edit.Top + Edit.Height + 15;
        BtnWidth  := MulDiv(50, DialogUnits.X, 4);
        BtnHeight := MulDiv(14, DialogUnits.Y, 8);
        with TButton.Create(Form) do
        begin
          Parent := Form;
          Caption := '确 定';
          ModalResult := mrOK;
          Default := True;
          SetBounds(MulDiv(38, DialogUnits.X, 4), BtnTop, BtnWidth, BtnHeight);
        end;
        with TButton.Create(Form) do
        begin
          Parent := Form;
          Caption := '取 消';
          ModalResult := mrCancel;
          Cancel := True;
          SetBounds(MulDiv(92, DialogUnits.X, 4), Edit.Top + Edit.Height + 15, BtnWidth, BtnHeight);
        end;    if Form.ShowModal = mrOK then
        begin
          FieldName := ComboBox.Items[ComboBox.ItemIndex];
          FieldValue := Trim(Edit.Text);
          Result := True;
        end;
      finally
        Form.Free;
      end;
    end;