warning: no message line prompt for ...

MFC在加载消息字符资源 GetMessageString 失败时会输出调试信息
解决方法:

  1. 为对应的ID添加对应资源(修改对应资源的信息非空)
  2. 重载函数修改 GetMessageString 其中包括两种方法都可以
void CMainFrame::GetMessageString(UINT nID, CString& rMessage) const
{
#if 0
	LPTSTR lpsz = rMessage.GetBuffer(255);
	if (AfxLoadString(nID, lpsz) != 0)
	{
		lpsz = _tcschr(lpsz, '\n');
		if (lpsz != NULL)
			*lpsz = '\0';
	}
	rMessage.ReleaseBuffer();
#elif defined(_DEBUG)
	UINT			nLevel;
	ATLTRACESTATUS	eStatus;

	ATL::CTrace::s_trace.GetCategory(traceAppMsg, &nLevel, &eStatus);
	ATL::CTrace::s_trace.ChangeCategory(traceAppMsg, 0, ATLTRACESTATUS_DISABLED);
	CFrameWndEx::GetMessageString(nID, rMessage);
	ATL::CTrace::s_trace.ChangeCategory(traceAppMsg, nLevel, eStatus);
#else
	CFrameWndEx::GetMessageString(nID, rMessage);
#endif

	return;
}
posted @   Yofoo  阅读(161)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示