zoukankan      html  css  js  c++  java
  • Delphi Application.MessageBox详解

    引数:
    1. Text:要显示的讯息
    2. Caption:讯息视窗的标题列文字
    3. Flags:讯息旗标
         3.1. 可指定讯息视窗上的图示
         3.2. 可指定讯息视窗出现的按钮
         3.3. 可指定预设Focus在哪一个按钮
         3.4. 可指定是否 Modal
         3.5. 其他

    引数说明:
    Text、Caption 引数为 PCahr 型态,字串型态的变数可用 PChar()
    转换,若直接传入一个字串的话,就不用转型。
    例如:
    var s: string;
    ....
    s := '存档失败';
    Application.MessageBox(PChar(s), '错误', MB_ICONERROR);

    Flag 引数为 Longint 型态,可用的传入值有:
    1. 指定讯息视窗上的图示
    1.1 MB_ICONEXCLAMATION 或 MB_ICONWARNING
          出现「黄三角形内有一个惊叹号」图示
    1.2 MB_ICONINFORMATION 或 MB_ICONASTERISK
          出现「白色椭圆内有一个蓝色小写 i」图示
    1.3 MB_ICONQUESTION
          出现「问号」图示
    1.4 MB_ICONSTOP 或 MB_ICONERROR 或 MB_ICONHAND
          出现「红色X」图示

    2. 指定讯息视窗出现的按钮
    2.1 MB_ABORTRETRYIGNORE
          出现「Abort」「Retry」「Ignore」三个按钮
    2.2 MB_OK
          出现「Ok」按钮,为预设值。
    2.3 MB_OKCANCEL
          出现「Ok」「Cancel」两个按钮
    2.4 MB_RETRYCANCEL
          出现「Retry」「Cancel」两个按钮
    2.5 MB_YESNO
          出现「Yes」「No」两个按钮
    2.6 MB_YESNOCANCEL
          出现「Yes」「No」「Cancel」三个按钮

    3. 可指定预设Focus在哪一个按钮
    3.1 MB_DEFBUTTON1
          指定focus在左边第一个按钮,这是预设值。
    3.2 MB_DEFBUTTON2、MB_DEFBUTTON3、MB_DEFBUTTON4
          以此类推,指定focus在左边第二、三、四个按钮

    4. 可指定是否 Modal
    4.1 MB_APPLMODAL
          对于应用程式而言,是 modal form
    4.2 MB_SYSTEMMODAL
          对于作业系统而言,是 modal form
    4.3 MB_TASKMODAL
          对于 task 而言,是 modal form
          一般来说,这跟 MB_APPLMODAL 是等效的,但是当应用程式中的所有
         form 都隐藏的时候,就必须使用这个,才能达到 modal 的目的

    5. 其他
    5.1 MB_TOPMOST
          将讯息视窗提至最前面
    5.2 MB_RIGHT
          将讯息文字向右对齐

    在一个 Flag 要指定这么多的东西,要如何使用呢?
    只要把要用的引数组合 or 起来就可以了。例如:

    Application.MessageBox(PCahr(sMsg), PChar(sCap), MB_YESNO or MB_ICONQUESTION or MB_DEFBUTTON2)
    这样会出现「问号」图示,「Yes」「No」两个按钮,而且 focus 在 No 按钮上

    回传值:
    1. IDABORT:使用者按了「Abort」按钮
    2. IDCANCEL:使用者按了「Cancel」按钮
    3. IDIGNORE:使用者按了「Ignore」按钮
    4. IDNO:使用者按了「No」按钮
    5. IDOK:使用者按了「Ok」按钮
    6. IDRETRY:使用者按了「Retry」按钮
    7. IDYES:使用者按了「Yes」按钮

    顺带一提,按钮上的文字是会随着作业系统的语系而改变的,用中文版的 Windows,按钮上的文字就出现中文。

  • 相关阅读:
    分布式系统的架构思路
    可汗学院超经典、超实用概率论总结——商女不知忘国恨,隔江犹看概率论
    傅里叶分析之掐死教程(完整版)
    谈谈敏捷开发
    C# 读xml注释或过滤xml注释
    CTF中那些脑洞大开的编码和加密
    C#关闭一个窗口的同时打开另一个窗口
    继《关于讯飞语音SDK开发学习》之打包过程中遇到小问题
    使用ffmpeg录音
    leetcode 1. Two Sum
  • 原文地址:https://www.cnblogs.com/China3S/p/3244780.html
Copyright © 2011-2022 走看看