分享

delphi AfxMessageBox与MessageBox的区别

 佚名2016 2016-08-25
 

1、AfxMessageBox与MessageBox的区别:

 

AfxMessageBox是MFC库提供的全局函数,提供了多种重载形式,而MessageBox是标准的windows Api函数.

估计AfxMessageBox 最终还是调用了MessageBox.

AfxMessageBox()函数在任何类里边都可以使用,而MessageBox()函数只能在CWnd类的继承类中使用。

另外,AfxMessageBox()函数的参数没有MessageBox()函数的参数丰富,所以后者较前者灵活。

AfxMessageBox不能控制消息框标题,常用于调试程序时的内部数据输出或警告;MessageBox比较正式,常用在要提交的应用程序版本中,可以控制标题内容而不必采用含义不明的可执行文件名为标题。

 

2、MessageBox的使用:

 

int MessageBox( LPCTSTR lpszText, LPCTSTR lpszCaption = NULL,UINT nType =MB_OK );

参数:

lpszText: 消息正文

lpszCaption:消息框标题(默认没有)

nType:消息框的风格

 

nType取值:

 

1.消息框的风格

MB_ICONQUESTION

! MB_ICONWARNING

X MB_ICONHAND or MB_ICONSTOP

i MB_ICONINFORMATION

2.Button Array: 按钮 消息框类型

[YES] [NO]           MB_YESNO

[YES][NO][CANCEL]    MB_YESNOCANCEL

[RETRY][CANCEL]      MB_RETRYCANCEL

[OK]                 MB_OK

[OK][CANCEL]         MB_OKCANCEL

[ABORT][RETRY][IGNORE]     MB_ABORTRETRYIGNORE

(想在弹出的对话框中显示的按钮,默认为MB_OK)

 

Return Values of MessageBox: Value Meaning 返回值

 

IDABORT        Abort button was selected.

IDCANCEL       Cancel button was selected.

IDIGNORE       Ignore button was selected

IDNO           No button was selected.

IDOK           OK button was selected

IDRETRY        Retry button was selected.

IDYES          Yes button was selected

 

nType中可以组合使用, for examble:

...

int iRes = MessageBox("你看见消息框了吗?","测试",MB_YESNO|MB_ICONWARNING);

if( iRes == IDYES )

MessageBox("看见了就好!");

 

3、MessageDlg的用法:

if MessageDlg('确定吗?',mtInformation,[mbYES,mbNo],0)=mrYes then
begin
memo1.lines.add('添加一行字');
end;

mtInformation代表窗口类型.你把光标按到这里按f1就知道有几种类型了.
有如下:
mtWarning A message box containing a yellow exclamation point symbol.
mtError         A message box containing a red stop sign.
mtInformation A message box containing a blue "i".
mtConfirmation A message box containing a green question mark.
mtCustom A message box containing no bitmap. The caption of the message box is the name of the application's executable file.
 
[mbYes,mbNo]是指按钮的样子.还有好多种.把光标按这里按f1就明白了.
[mbYes,mbNo,mbOK,mbCancel...]

TMsgDlgBtn Value     Corresponding return value

mbOk                       mrOk
mbCancel                mrCancel
mbYes                       mrYes
mbNo                       mrNo
mbAbort                mrAbort
mbRetry                mrRetry
mbIgnore                mrIgnore

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多