详述Delphi的MessageBox对话框

  
MessageBox对话框是比较常用的一个信息对话框,其不仅能够定义显示的信息内容、信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对话框信息提示图标,而且可以定义按钮组合及对话框的标题,是一个功能齐全的信息对框。 
    1、函数原型及参数 
    function   MessageBox(hWnd:   HWND;   Text,   Caption:   PChar;   Type:   Word):   Integer; 
    hWnd:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。 
    Text:欲显示的信息字符串。 
    Caption:对话框标题字符串。 
    Type:对话框类型常量。 
    该函数的返回值为整数,用于对话框按钮的识别。 
    2、类型常量 
    对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。 
    (1)按钮组合常量 
    MB_OK   =   $00000000;                                     //一个确定按钮 
    MB_OKCANCEL   =   $00000001;                         //一个确定按钮,一个取消按钮 
    MB_ABORTRETRYIGNORE   =   $00000002;         //一个异常终止按钮,一个重试按钮,一个忽略按钮 
    MB_YESNOCANCEL   =   $00000003;                   //一个是按钮,一个否按钮,一个取消按钮 
    MB_YESNO   =   $00000004;                               //一个是按钮,一个否按钮 
    MB_RETRYCANCEL   =   $00000005;                   //一个重试按钮,一个取消按钮 
    (2)缺省按钮常量 
    MB_DEFBUTTON1   =   $00000000;                     //第一个按钮为缺省按钮 
    MB_DEFBUTTON2   =   $00000100;                     //第二个按钮为缺省按钮 
    MB_DEFBUTTON3   =   $00000200;                     //第三个按钮为缺省按钮 
    MB_DEFBUTTON4   =   $00000300;                     //第四个按钮为缺省按钮 
    (3)图标常量 
    MB_ICONHAND   =   $00000010;                               //“×”号图标 
    MB_ICONQUESTION   =   $00000020;                       //“?”号图标 
    MB_ICONEXCLAMATION   =   $00000030;                 //“!”号图标 
    MB_ICONASTERISK   =   $00000040;                       //“i”图标 
    MB_USERICON   =   $00000080;                               //用户图标 
    MB_ICONWARNING   =   MB_ICONEXCLAMATION;       //“!”号图标 
    MB_IConERROR   =   MB_ICONHAND;                         //“×”号图标 
    MB_ICONINFORMATION   =   MB_ICONASTERISK;     //“i”图标 
    MB_ICONSTOP   =   MB_ICONHAND;                           //“×”号图标 
    (4)运行模式常量 
    MB_APPLMODAL   =   $00000000;                 //应用程序模式,在未结束对话框前也能切换到另一应用程序 
    MB_SYSTEMMODAL   =   $00001000;             //系统模式,必须结束对话框后,才能做其他操作 
    MB_TASKMODAL   =   $00002000;                 //任务模式,在未结束对话框前也能切换到另一应用程序 
    MB_HELP   =   $00004000;                           //Help   Button 
    3、函数返回值 
    0                                               //对话框建立失败 
    idOk   =   1                                 //按确定按钮 
    idCancel   =   2                         //按取消按钮 
    idAbout   =   3                           //按异常终止按钮 
    idRetry   =   4                           //按重试按钮 
    idIgnore   =   5                         //按忽略按钮 
    idYes   =   6                               //按是按钮 
    idNo   =   7                                 //按否按钮   

1.procedure   ShowMessage(const   Msg:   string); 
    单元:Dialogsor   QDialogs 
    例子:showmessage( 'hello '); 
2.function   MessageBox(const   Text,   Caption:   PChar;   Flags:   Longint   =   MB_OK):   Integer; 
    单元:Forms 
    例子:MessageBox( 'This   should   be   on   top. ',   'Look ',   mb_OK)

if Application.MessageBox('确定要添加?','提示',MB_YESNO)=IDYES then//这个是对的

 
    注:delphi的帮助文档提供的例子好像有误他的最后一个参数是[sbmok] 
3.function   MessageDlg(const   Msg:   string;   DlgType:   TMsgDlgType;   Buttons:   TMsgDlgButtons;   HelpCtx:   Longint):   Word; 
    单元:Dialogsor   QDialogs 
    例子:if   messagedlg( '确定要退出吗? ',mtwarnint,[mbyes,mbno],0)=mryes   then   close; //我测试出来是错误的
4.int   MessageBox( 

        HWND   hWnd, //   handle   of   owner   window 
        LPCTSTR   lpText, //   address   of   text   in   message   box 
        LPCTSTR   lpCaption, //   address   of   title   of   message   box     
        UINT   uType   //   style   of   message   box 
      ); 
    单元:windows   API 
    例子:windows.messagebox(0, '标题 ', '警告错误 ',MB_ICONSTOP);

原文地址:https://www.cnblogs.com/leewiki/p/2289931.html