AfxMessageBox和MessageBox如何使用?

2025-02-19 02:58:34
推荐回答(2个)
回答1:

一、函数原型

AfxMessageBox:

  1. int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );

  2. int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) –1 );

在第一种形式中,lpszText表示在消息框内部显示的文本,消息框的标题为应用程序的可执行文件名(如Hello)。在第二种形式中,nIDPrompt为要显示的文本字符串在字符串表中的ID。函数调用时会自动从字符串表中载入字符串并显示在消息框中。nType为消息框中显示的按钮风格和图标风格的组合,可以采用|(或)操作符组合各种风格。


MessageBox:

int WINAPI MessageBox(HWND hWnd,LPCTSTR lpText,LPCTSTR lpCaption,UINT uType);

hWnd:消息框的拥有窗此参数口。如果为NULL,则消息框没有拥有窗口。

lpText:消息框的内容。

lpCaption:消息框的标题。

uType:指定一个决定对话框的内容和行为的位标志集。

二、区别

AfxMessageBox比MessageBox简单一些,因为它是一个全局函数所以不需要对应的一个窗口类,但是不能控制消息框标题,常用于调试程序时的内部数据输出或警告;MessageBox比较正式,常用在要提交的应用程序版本中,可以控制标题内容而不必采用含义不明的可执行文件名为标题。

回答2:

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