zoukankan      html  css  js  c++  java
  • 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        //按否按钮

    例子: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用法

    messageDlg, 是在对话框显示消息,并等待用户点击一个按钮,然后返回一个整数确定知道是那个按钮.
    原型:MessageDlg(const Msg: string; DlgType: TMsgDlgType;Buttons: TMsgDlgButtons; HelpCtx: Longint): Integer

    Msg:想要提示的文字
    DlgType:对话框的类型
    Buttons:对话框中的按钮
    HelpCtx:定义对话框的帮助屏幕,使用HelpCtx参数可以指定当用户单击Help按钮或按F1键所弹出的帮助主题的帮助上下文ID,一般也用不上,用0,表示帮助主题为空。

    对话框类型:
    mtwarning——含有感叹号的警告对话框
    mterror——含有红色叉符号的错误对话框
    mtinformation——含有蓝色i符号的信息对话框
    mtconfirmation——含有绿色问号的确认对话框
    mtcustom——不含图标的一般对话框,对话框的标题是程序的名称

    按钮组中的按钮:
    mbYes——mrYes或6
    mbNo——mrNo或7
    mbOk——mrOk或1
    mbCancel——mrCancel或2
    mbHelp——help按钮
    mbAbort——mrAbort或3
    mbRetry——mrRetry或4
    mbIgnore——mrIgnore或5
    mbAll——mrAll或8
    mbNoToAll——9
    mbYesToAll——10

    举例:
    procedure TForm1.Button1Click(Sender: TObject);
    begin
      Messagedlg('你确定吗',mtWarning,[mbYES,mbNO],0);
       MessageDlg('错误(1001)',mtError,[mbCancel],0);
    end;

    MessageDlg()信息的汉化

    Delphi中的常量都放在consts.pas中,修改它可以达到汉化的目的.如:
    MessageDlg()显示的窗口标题及其中的
    按钮标题都是英文,虽然不影响使用,但在一个中文软件中总显得有些不协调.
    为此在consts.pas中查找以下内容:
    "SMsgDlgWarning"

    SMsgDlgWarning = 'Warning';
    SMsgDlgError = 'Error';
    SMsgDlgInformation = 'Information';
    SMsgDlgConfirm = 'Confirm';
    SMsgDlgYes = '&Yes';
    SMsgDlgNo = '&No';
    SMsgDlgOK = 'OK';
    SMsgDlgCancel = 'Cancel';
    SMsgDlgHelp = '&Help';
    SMsgDlgHelpNone = 'No help available';
    SMsgDlgHelpHelp = 'Help';
    SMsgDlgAbort = '&Abort';
    SMsgDlgRetry = '&Retry';
    SMsgDlgIgnore = '&Ignore';
    SMsgDlgAll = '&All';
    SMsgDlgNoToAll = 'N&o to All';
    SMsgDlgYesToAll = 'Yes to &All';
    改成
    SMsgDlgWarning = '警告';
    SMsgDlgError = '错误';
    SMsgDlgInformation = '提示';
    SMsgDlgConfirm = '确认';
    SMsgDlgYes = '是(&Y)';
    SMsgDlgNo = '不(&N)';
    SMsgDlgOK = '确定';
    SMsgDlgCancel = '取消';
    SMsgDlgHelp = '帮助(&H)';
    SMsgDlgHelpNone = '没有该帮助信息';
    SMsgDlgHelpHelp = '帮助';
    SMsgDlgAbort = '放弃(&A)';
    SMsgDlgRetry = '重试(&R)';
    SMsgDlgIgnore = '忽略(&I)';
    SMsgDlgAll = '全部(&A)';
    SMsgDlgNoToAll = '全都不(&O)';
    SMsgDlgYesToAll = '全都是(&A)';
    然后重新编译Consts.pas,把Consts.dcu
    拷到delphi的lib和slib子目录下,就OK啦!

  • 相关阅读:
    DRUPAL-PSA-CORE-2014-005 && CVE-2014-3704 Drupal 7.31 SQL Injection Vulnerability /includes/database/database.inc Analysis
    WDCP(WDlinux Control Panel) mysql/add_user.php、mysql/add_db.php Authentication Loss
    Penetration Testing、Security Testing、Automation Testing
    Tomcat Server Configuration Automation Reinforcement
    Xcon2014 && Geekpwn2014
    phpMyadmin /scripts/setup.php Remote Code Injection && Execution CVE-2009-1151
    Linux System Log Collection、Log Integration、Log Analysis System Building Learning
    The Linux Process Principle,NameSpace, PID、TID、PGID、PPID、SID、TID、TTY
    Windows Management Instrumentation WMI Security Technology Learning
    IIS FTP Server Anonymous Writeable Reinforcement, WEBDAV Anonymous Writeable Reinforcement(undone)
  • 原文地址:https://www.cnblogs.com/karkash/p/6609776.html
Copyright © 2011-2022 走看看