CFindReplaceDialog问题

该用户真的很懒 2012-12-17 03:57:55
最近在编写一个多文档应用程序,需要在一个文档框内实现查找功能,所有我想到用CFindReplaceDialog这个MFC类,但是使用的时候发生了一件令我头疼的事,经常在我调用出查找框点击查找后,程序过会会崩在(红色处)

BOOL AFXAPI AfxInternalPumpMessage()
{
_AFX_THREAD_STATE *pState = AfxGetThreadState();

if (!::GetMessage(&(pState->m_msgCur), NULL, NULL, NULL))
{
#ifdef _DEBUG
TRACE(traceAppMsg, 1, "CWinThread::PumpMessage - Received WM_QUIT.\n");
pState->m_nDisablePumpCount++; // application must die
#endif
// Note: prevents calling message loop things in 'ExitInstance'
// will never be decremented
return FALSE;
}
......

上面代码在“thrdcore.cpp”文件中;

注:在这个文档视图中使用了其他消息处理机制,如果在不使用查找框时,程序不会崩,只有使用查找框才概率性崩框,我怀疑是不是在注册static UINT WM_FINDREPLACE = ::RegisterWindowMessage( FINDMSGSTRING );这个消息时和其他消息有冲突,请大神指点。
...全文
182 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
再顶一次!!!
看不见的裂痕 2012-12-18
  • 打赏
  • 举报
回复
就自定义较大消息,不注册会报错么?
  • 打赏
  • 举报
回复
引用 2 楼 happyparrot 的回复:
这个消息注册是系统管理的,本身不会有问题。你自定义的消息很多吗?都有哪个ID段的呢?这个对话框类你使用的代码是怎么写的呢?


自定义的消息挺多,ID都在0x0400 与0x0500之间,也确定不是使用代码时的错误,报错是callback截图
快乐鹦鹉 2012-12-17
  • 打赏
  • 举报
回复
这个消息注册是系统管理的,本身不会有问题。你自定义的消息很多吗?都有哪个ID段的呢?这个对话框类你使用的代码是怎么写的呢?
  • 打赏
  • 举报
回复
自己顶,帮顶有分,回答的另加

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧