效果图:
实现代码:
- int SetMessageBoxInfo(CString parm_text, CString parm_caption,
- int parm_style, int parm_icon_id)
- {
- MSGBOXPARAMS msg_info;
- memset(&msg_info, 0, sizeof(MSGBOXPARAMS));
- // 初始化结构体大小
- msg_info.cbSize = sizeof(MSGBOXPARAMS);
- // 拥有的窗口句柄,指定一个值
- msg_info.hwndOwner = NULL;
- // 如果你不使用的图标资源,并不需要明确。
- msg_info.hInstance = AfxGetApp()->m_hInstance;
- // 指定的文本将显示在消息框
- msg_info.lpszText = parm_text;
- // 消息框显示在标题指定标题的人
- msg_info.lpszCaption = parm_caption;
- // 消息框样式指定
- msg_info.dwStyle = parm_style | MB_USERICON;
- // 使用图标资源的人表示,为了使用这种说法,是一定要因素dwStyle
- // MB_USERICON 你必须得到明确。
- msg_info.lpszIcon = MAKEINTRESOURCE(parm_icon_id);
- // 定义消息框,根据打印信息。
- int result = MessageBoxIndirect(&msg_info);
- // 在选定按钮的消息框的ID返回一个值。
- return result;
- }
int SetMessageBoxInfo(CString parm_text, CString parm_caption,
int parm_style, int parm_icon_id)
{
MSGBOXPARAMS msg_info;
memset(&msg_info, 0, sizeof(MSGBOXPARAMS));
// 初始化结构体大小
msg_info.cbSize = sizeof(MSGBOXPARAMS);
// 拥有的窗口句柄,指定一个值
msg_info.hwndOwner = NULL;
// 如果你不使用的图标资源,并不需要明确。
msg_info.hInstance = AfxGetApp()->m_hInstance;
// 指定的文本将显示在消息框
msg_info.lpszText = parm_text;
// 消息框显示在标题指定标题的人
msg_info.lpszCaption = parm_caption;
// 消息框样式指定
msg_info.dwStyle = parm_style | MB_USERICON;
// 使用图标资源的人表示,为了使用这种说法,是一定要因素dwStyle
// MB_USERICON 你必须得到明确。
msg_info.lpszIcon = MAKEINTRESOURCE(parm_icon_id);
// 定义消息框,根据打印信息。
int result = MessageBoxIndirect(&msg_info);
// 在选定按钮的消息框的ID返回一个值。
return result;
}
按钮测试事件:
- void CewwDlg::OnBnClickedButton1()
- {
- SetMessageBoxInfo("←自定义消息图标测试","King.Sollyu",MB_OKCANCEL, IDI_ICON1);
- }
void CewwDlg::OnBnClickedButton1()
{
SetMessageBoxInfo("←自定义消息图标测试","King.Sollyu",MB_OKCANCEL, IDI_ICON1);
}
自定义按钮内容 连接:
http://blog.csdn.net/kingsollyu/article/details/6077014