zoukankan      html  css  js  c++  java
  • Delphi_Application.MessageBox函数用法

    不是原创,只是复制保存下来,用于学习,如有侵权请联系我,马上删除。

    原文链接:https://www.cnblogs.com/zs-note/articles/5050737.html

    Application.MessageBox是TApplication的成员函数,声明如下:
    functionTApplication.MessageBox(constText,Caption:PChar;Flags:Longint):Integer;

    引数:
    1.Text:要显示的信息
    2.Caption:信息窗口的标题文字
    3.Flags:窗体标志(说明是何种类型的信息窗体)
    3.1.可指定信息窗体上的图标

    3.2.可指定信息窗体上出现的按钮
    3.3.可指定预设Focus在哪一个按钮上
    3.4.可指定是否Modal
    3.5.其他

    变量说明:
    如为Text、Caption或其他string类型的变量,改为PCahr型态,字串型态的变数可用PChar()
    转换,若直接传入一个字串的值话,就不用转型。

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

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

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

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

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

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

    Application.MessageBox(PCahr(sMsg),PChar(sCap),MB_YESNOorMB_ICONQUESTIONorMB_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」按钮

    结果处理示例:

    Result := Application.MessageBox('要保存文件内容吗?', '保存', MB_YESNO or MB_ICONQUESTION);
    case Result of
          ID_YES:
            if SaveFile(False) then
              MakeNewDocument;
          ID_NO:
            MakeNewDocument;
        end
  • 相关阅读:
    hdu 5224 Tom and paper 水题
    2015 UESTC 搜索专题N题 韩爷的梦 hash
    2015 UESTC 搜索专题M题 Palindromic String 马拉车算法
    2015 UESTC 搜索专题K题 秋实大哥の恋爱物语 kmp
    2015 UESTC 搜索专题J题 全都是秋实大哥 kmp
    2015 UESTC 搜索专题F题 Eight Puzzle 爆搜
    2015 UESTC 搜索专题E题 吴队长征婚 爆搜
    2015 UESTC 搜索专题D题 基爷的中位数 二分
    2015 UESTC 搜索专题C题 基爷与加法等式 爆搜DFS
    2015 UESTC 搜索专题B题 邱老师降临小行星 记忆化搜索
  • 原文地址:https://www.cnblogs.com/hjdgz/p/11820116.html
Copyright © 2011-2022 走看看