• Delphi


    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()
    转换,若直接传入一个字串的值话,就不用转型。
    例如:
    vars:string;
    ....
    s:='存档失败';
    Application.MessageBox(PChar(s),'错误',MB_ICONERROR);
    //窗口标识可以含多个,例如下面表示带问号,同时含有yes和no两个按钮Application.MessageBox('要保存文件内容吗?', '保存', MB_YESNO or MB_ICONQUESTION);

    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

     
  • 相关阅读:
    事务1-JDBC事务管理
    Tomcat地址栏传中文参数乱码问题处理
    hibernate报错:org.hibernate.MappingException: No Dialect mapping for JDBC type: -1
    UVA12170 Easy Climb
    [POI2004]旅行问题
    [SCOI2010]股票交易
    [USACO11OPEN] Mowing the Lawn G
    查看文件个数 ls |wc -l
    【zombie】如何查看并杀死僵尸进程?
    [Windows] 屏幕截图
  • 原文地址:https://www.cnblogs.com/sunylat/p/13972566.html
Copyright © 2020-2023  润新知