C++(MFC)MESSAGEBOX加标题栏图标
C++(MFC)中,用MESSAGEBOX函数,能显示标题栏的图标吗?如果能应该怎么做?注意不是TEXT栏中那个叹号、...
C++(MFC)中,用MESSAGEBOX函数,能显示标题栏的图标吗?如果能应该怎么做?注意不是TEXT栏中那个叹号、
展开
2个回答
展开全部
MessageBox是系统API,既然它没有提供相关参数,那么也实在无法显示标题栏图标。
另外有一个API函数MessageBoxIndirect,提供更多的参数选择,使用方法为:
MSGBOXPARAMS MsgPars;
MsgPars.cbSize = sizeof(MsgPars);
MsgPars.hwndOwner = m_hWnd;
MsgPars.hInstance = AfxGetApp()->m_hInstance;
MsgPars.lpszText = "你好!";
MsgPars.lpszCaption = "About";
MsgPars.dwStyle = MB_OK|MB_USERICON;
MsgPars.lpszIcon = MAKEINTRESOURCE(IDR_MAINFRAME);
MsgPars.dwContextHelpId = 0;
MsgPars.lpfnMsgBoxCallback = NULL;
MsgPars.dwLanguageId = LANG_NEUTRAL;
MessageBoxIndirect(&MsgPars);
不过这里的图标是在对话框内显示的,不是标题栏图标。
如果一定要加标题栏图标,自己写一个窗口类吧。
另外有一个API函数MessageBoxIndirect,提供更多的参数选择,使用方法为:
MSGBOXPARAMS MsgPars;
MsgPars.cbSize = sizeof(MsgPars);
MsgPars.hwndOwner = m_hWnd;
MsgPars.hInstance = AfxGetApp()->m_hInstance;
MsgPars.lpszText = "你好!";
MsgPars.lpszCaption = "About";
MsgPars.dwStyle = MB_OK|MB_USERICON;
MsgPars.lpszIcon = MAKEINTRESOURCE(IDR_MAINFRAME);
MsgPars.dwContextHelpId = 0;
MsgPars.lpfnMsgBoxCallback = NULL;
MsgPars.dwLanguageId = LANG_NEUTRAL;
MessageBoxIndirect(&MsgPars);
不过这里的图标是在对话框内显示的,不是标题栏图标。
如果一定要加标题栏图标,自己写一个窗口类吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询