procedure TForm1.Button1Click(Sender: TObject);
var
S:string;
begin
if MessageDlg('提示框',mtInformation,[mbok,mbyes],0)=mryes then
      messagebeep(MB_ICONEXCLAMATION);
end;

TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);

TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore,
    mbAll, mbNoToAll, mbYesToAll, mbHelp);

const
mrNone     = 0;
mrOk       = idOk;
mrCancel   = idCancel;
mrAbort    = idAbort;
mrRetry    = idRetry;
mrIgnore   = idIgnore;
mrYes      = idYes;
mrNo       = idNo;
mrAll      = mrNo + 1;
mrNoToAll = mrAll + 1;
mrYesToAll = mrNoToAll + 1;


提示信息框(MessageBox)的应用  
   
   
   
  应用程序中的提示信息处理程序是非常出重要的部分,用户要知道他输入的资料到底正不正确,或者是应用程序有一些提示信息要告诉

用户,都必须通过提示信息处理程序来显示适当的信息,让用户了解下一步该如何配置。提示信息有很多种类,包括警告,错误,提示,确认

,重试等。不同种类的提示信息框适合用在各种不同的情况。  
   
  在C++Builder中开发提示信息框只须调用MessageBox这个信息提示框函数就行,下面就是这个函数说明:  
   
int   __fastcall   MessageBox(const   char   *   Text,//提示信息框的内容  
   
    const   char   *   Caption,                                     //提示信息框的标题  
   
int   Flags);                                                         //提示信息框的类别  
   
  参数Flags的值是用来标志提示信息框的类别的,下面是一些常用的类别:  
   
参数值                                                                 样式                                                

                意义  
MB_ICONWARNING                             含图标、固定按钮                             警告信息框  
MB_ICONQUESTION                           含图标、固定按钮                             疑问信息框  
MB_IConERROR                                     含图标、固定按钮                             错误信息框  
MB_ICONASTERISK                             含图标、固定按钮                             提示信息框  
MB_HELP                                                     不含图标、可改变按钮                   说明信息框  
MB_OK                                                           不含图标、可改变按钮                   提示信息框  
MB_OKCANCEL                                       不含图标、可改变按钮                   确认信息框  
MB_RETRYCANCEL                             不含图标、可改变按钮                 重试信息框  
MB_YESNO                                               不含图标、可改变按钮                 是否信息框  
MB_YESNOCANCEL                         不含图标、可改变按钮                 是否取消信息框  
   
  从上表可以看出来,提示信息框的类别可以分成含图标和不含图标,含图标的意思就是指提示信息框上会有代表意义的图形,不过这类

型的提示信息框的按钮都是固定的,都是【确定】按钮,不能增加也不能省略;不含图标的提示信息框,虽然没有对应的图形显示在提示信息

框上,可是你却可以在这种类型的提示信息框内,加入各种组合的按钮,用于各种不同的情况。  
   
   
MessageBox函数会返回一个整数值,这个整数值代表用户刚刚点击提示信息框上的哪个按钮,每个返回值的代表意义在下表:  
   
返回值                                       数值                                                   意义  
IDOK                                             1                                                             确定  
IDCANCEL                                     2                                                             取消  
IDABORT                                       3                                                               中断  
IDRETRY                                       4                                                             重试  
IDIGNORE                                     5                                                             忽略  
IDYES                                           6                                                             是  
IDNO                                             7                                                             否  
     
   
下面是提示信息框的示范程序:  
   
1.   警告信息框  
   
Application->MessageBox("警告信息框","警告信息框",MB_ICONWARNING);  
   
2.疑问信息框  
   
Application->MessageBox("疑问信息框","疑问信息框",MB_ICONQUESTION);  
   
3.错误提示框  
   
Application->MessageBox("错误信息框","错误信息框",MB_IConERROR);  
   
4.提示信息框  
   
Application->MessageBox("提示信息框","提示信息框",MB_ICONASTERISK);  
   
5.说明信息框  
   
Application->MessageBox("说明信息框","说明信息框",MB_HELP);  
   
6.提示信息框  
   
Application->MessageBox("提示信息框","提示信息框",MB_OK);  
   
7.确认信息框  
   
Application->MessageBox("确认信息框","确认信息框",MB_OKCANCEL);  
   
8.重试信息框  
   
Application->MessageBox("重试信息框","重试信息框",MB_RETRYCANCEL);  
   
9.是否信息框  
   
Application->MessageBox("是否信息框","是否信息框",MB_YESNO);  
   
10.是否取消信息框  
   
Application->MessageBox("是否取消信息框","是否取消信息框",MB_YESNOCANCEL);  
   
  在C++Builder中,还提供了一个很简单的信息提示框函数,那就是ShowMessage。这个函数只有一个字符串参数,你可以把要显示的字符

串放到这个字符串参数里面,ShowMessage就回显示出该信息,但是没有图标,也没有按钮,只有单纯的字符串信息而已。  
   
下面是ShowMessage函数的说明:  
   
extern   PACKAGE   void   __fastcall   ShowMessage(const   AnsiString   Msg);  
   
例子:  
   
ShowMessage("这个就是ShowMessage函数生成的信息提示框!");  
  
Application->MessageBox("AA",   "BB",   MB_OK   |   MB_ICONSTOP);  
或  
MessageBox(Application->Handle,"AA",   "BB",   MB_OK   |   MB_ICONSTOP);  
这种写法“级别”最高:如果弹出这样的对话框,不点掉,Application下所有的Form都  
不能“动”的。  
   
MessageBox(Form1->Handle,"AA",   "BB",   MB_OK   |   MB_ICONSTOP);  
这种写法“级别”其次:如果弹出这样的对话框,不点掉,只有From1不能“动”,其他  
Show()的From还可以点。  
   
MessageBox(NULL,"AA",   "BB",   MB_OK   |   MB_ICONSTOP);  
这种写法“级别”最低:如果弹出这样的对话框,不点掉,From1也能“动”,其他  
Show()的From也可以点。

int   Result   =   MessageDlg("是否保存?",mtConfirmation,   mbYesNoCancel,   0);  
switch   (Result)  
{  
          case   mrYes:     //点了[Yes]  
          break;  
          case   mrNo:     //点了[No]  
          break;  
          case   mrCancel:     //点了[Cancel]  
          break;  

posted on 2013-01-15 22:47  del88  阅读(35)  评论(0编辑  收藏  举报