MessageBox

    技术2025-01-26  29

    MessageBox(Handle, PAnsichar, String, MB_OK);

     

    Handle 窗口句柄 NULL时默认为桌面窗口

    PAnsichar 消息框的正文

    String 消息框的标题

    MB_OK 按钮信息

     

    经常出现String与PAnsichar无法兼容的错误, 这时只需强制转换即可 PAnsiChar(Char);

     

    MessageDlg 函数 该函数的定义格式如下:

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

    用于在屏幕中央显示消息框。各参数含义如下所述。

    (1) Msg 参数:指定消息框显示的内容。

    (2) Dlgtype 参数:指定消息框的类型,其取值见表 5-1

     

       

       

    mtWarning

    显示一个带有黄色惊叹号的消息框

    mtError

    显示一个带有红色停止符号的消息框

    mtInformation

    显示一个带有蓝色“i”标志的消息框

    mtConfirmation

    显示一个带有绿色问号的消息框

    mtCustom

    消息框中没有位图,对话框的标题是应用程序执行文件名

    (3) Buttons 参数:指定消息框包含的按钮,其取值见表 5-2

     

       

       

       

       

    mbYes

    一个上显示“Yes”的按钮

    mbIgnore

    一个上显示“Ignore”的按钮

    mbNo

    一个上显示“No”的按钮

    mbAll

    一个上显示“All”的按钮

    mbOK

    一个上显示“OK”的按钮

    mbNoToAll

    一个上显示“NoToAll”的按钮

    mbCancel

    一个上显示“Cancel”的按钮

    mbYesToAll

    一个上显示“YesToAll”的按钮

    mbAbort

    一个上显示“Abort”的按钮

    mbHelp

    一个上显示“Help”的按钮

    mbRetry

    一个上显示“Retry”的按钮

     

     

     

    (4) HelpCtx 参数:指定帮助主题的帮助上下文的 ID,即使用哪个帮助屏幕。

     

    关于MessageBox和MessageDlg的取舍

     

    if MessageDlg('是否真的退出?',mtInformation,[mbYes,mbNo],0)=mrYes then close;用MessageBox写就成了:if MessageBox(handle,'是否真的退出?',pchar(caption),mb_IconInformation+mb_YesNo)=mrYes then close;二者差不太多,但还是有区别的:·MessageDlg的按钮caption是英文,MessageBox是中文·MessageDlg带HelpCtx(即Help Context,一般用不着),而MessageBox可以自定对话框标题(常用)·MessageDlg是Delphi对MessageBox的二次实现,在Uses里要加Dialogs声明

    最新回复(0)