zoukankan      html  css  js  c++  java
  • MessageDlg,MessageBox消息对话框+模式窗体返回值

    (1)MessageDlg函数是将信息以对话框的形式输出并显示。

    如图:

    1 function MessageDlg(const Msg: string; DlgType: TMsgDlgType; Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer;

    函数参数说明:

    Msg:显示消息的内容
    DlgType:指定消息对话框的类型,
    Buttons:指定消息对话框显示得按钮
    Longint:指定应显示的帮助标题的正文ID

    TMsgDlgType = (mtWarning, mtError, mtInformation, mtConfirmation, mtCustom);
    TMsgDlgBtn = (mbYes, mbNo, mbOK, mbCancel, mbAbort, mbRetry, mbIgnore, mbAll, mbNoToAll, mbYesToAll, mbHelp);

    (2).MessageBox跟MessageDlg功能是一样的,组合上会更灵活。

    1 function MessageBox(hWnd: HWND; lpText, lpCaption: PChar; uType: UINT): Integer; stdcall;
    HWND:对话框父窗口句柄,对话框显示在Delphi窗体内,可使用窗体的Handle属性,否则可用0,使其直接作为桌面窗口的子窗口。
    lpText:欲显示的信息字符串。
    lpCaption:对话框标题字符串。
    uType:对话框类型常量。

    对话框的类型常量可由按钮组合、缺省按钮、显示图标、运行模式四种常量组合而成。
     (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        //按否按钮

    例子:messagebox(0,'没有选择播放类型','错误',MB_ICONEXCLAMATION );

    --Application.MessageBox('MessageBox','警告',MB_ICONWARNING+MB_YesNo);
    --MessageBox(Form1.Handle,'MessageBox','提示',MB_ICONINFORMATION+MB_OkCancel);
    --MessageBox(Form1.Handle,'MessageBox','提示‘,MB_ICONINFORMATION+MB_OkCancel+MB_DEFBUTTON2);
    -- if MessageBox(Form1.Handle,'MessageBox','提示',MB_ICONINFORMATION+MB_OkCancel)= idOk then
         begin
           ShowMessage('Ok');
         end;

    从上述可以看出MessageDlg函数和MessageBox函数是有Integer的返回值的,也叫做模式窗体返回值(ModalResult)。

    ModalResult是指一个模式窗体(form.showmodal)的返回值,一般用于相应窗体上按钮的ModalResult属性.显示完窗体(关闭)后,会返回此属性预设的值做为返回值。

    返回值可以使用的参数(默认值是mrNone):该属性可以设置为mrOk 、mrCancel...等等

    例如:

    1 var
    2   i: Integer;
    3 begin
    4     i:= messagedlg('MessageDlg输出信息提示框',mtInformation,mbYesNoCancel,1);
    5     if i = mrYes then
    6     begin
    7       ShowMessage('OnClick The yes');
    8     end;
    9 end;
  • 相关阅读:
    WPF通过不透明蒙板切割显示子控件
    WPF图片,DataGrid等实现圆角
    今天是2015年1月5日
    控制反转&依赖注入
    如何提高sql查询性能到达优化程序的目的
    handle句柄
    winform加快窗体加载速度
    winform窗体自适应大小
    快速整理代码(c#)
    IC卡、ID卡、M1卡、射频卡的区别是什么(射频卡是种通信技术)
  • 原文地址:https://www.cnblogs.com/fansizhe/p/12636066.html
Copyright © 2011-2022 走看看