MessageBox和AfxMessageBox

1. MessageBox 是Windows系统库 user32.dll 的一个导出函数,用于显示一个提示消息对话框,其原型定义如下 :
   int MessageBox( HWND hWnd, // handle to owner window 
                   LPCTSTR lpText, // text in message box 
                   LPCTSTR lpCaption, // message box title 
                   UINT uType // message box style ); 
   可以看到有四个参数,第一个是消息框所有者窗口句柄,可以是NULL,第二个是 消息框的文本内容,第三个是消息框标题,第四个参数是消息框样式(按钮和图标)。

2. CWnd类对MessageBox进行了封装,对其第一个参数传递了CWnd类的成员变量 m_hWnd,
   因此,调用CWnd类的成员函数MessageBox时,不能使用第一个参数,并且,最后两个参数也有默认值。
 
3. AfxMessageBox 是应用程序框架函数,是一个全局的函数,其内部实现也是使用了MessageBox。
   它有两次重载,如下:int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );
   int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) -1 ); 
   lpszText 是消息框的内容;nType 与MessageBox中相同;nIDHelp 是帮助上下文ID,如果是0则使用默认的帮助上下文。
   nIDPrompt 是一个资源中的字符串表中的字符串资源ID,可以使用一个字符串资源作为消息框的内容。 
   因为 MessageBox 是标准调用的DLL导出函数,所以可以在C代码中使用,而 AfxMessageBox 则只能在C++代码中使用,一般都是在MFC程序中使用AfxMessageBox。
   AfxMessageBox 内部处理了MessageBox的参数,然后调用 MessageBox来实现。而实际上MessageBox只是一个宏,真正的函数是MessageBoxA和MessageBoxW,
   这两个函数都没有提供控制其出现位置的参数,所以,不能控制其出现的位置。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值