MessageBox实现与AfxMessageBox相同效果
时间: 2024-10-16 11:08:18 浏览: 29
saysomething3.rar_MessageBox_Whatever
在MFC中,`AfxMessageBox`函数是一个便捷的方式来显示消息框,它封装了Windows API的`MessageBox`函数。如果你想自己手动实现类似的效果,可以参考以下步骤:
```cpp
#include "afxwin.h" // 包含MFC的一些常用宏和函数
// 定义消息框的基本结构体
enum MessageBoxButtons {
MB_OK = 0x00000000, // 带有“确定”按钮
MB_OKCANCEL = 0x00000001, // 带有“确定”和“取消”按钮
// 更多选项...
};
enum MessageBoxIcon {
MB_ICONINFORMATION = 0x00000064, // 信息图标
MB_ICONWARNING = 0x00000040, // 警告图标
// 更多选项...
};
int ShowCustomMessageBox(HWND hWndParent, LPCTSTR lpText, LPCTSTR lpCaption, MessageBoxButtons buttons = MB_OK, MessageBoxIcon icon = MB_ICONINFORMATION) {
int retValue;
TCHAR buffer[512]; // 用于构建消息框的字符串
// 构造消息字符串
wsprintf(buffer, TEXT("%s\n"), lpText);
// 调用MessageBox函数,传入窗口句柄、消息字符串、提示框标题以及标志值
retValue = MessageBox(hWndParent, buffer, lpCaption, (unsigned short)(buttons | icon));
return retValue;
}
// 使用示例
ShowCustomMessageBox(NULL, _T("这是一个消息示例"), _T("Message Box"));
阅读全文