非模态对话框,PreTranslateMessage不响应!!!

sc_valentine21 2011-01-21 02:51:39
一个窗口是这么创建的

CWnd *pWnd = GetDesktopWindow();
m_pWindow->Create(IDD, pWnd);



想响应按键消息,于是重载PreTranslateMessage,断点发现,根本就不进来?怎么回事?
...全文
485 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
candeabc123 2012-08-07
  • 打赏
  • 举报
回复
哥们 说说你是怎么解决的啊?????急急急急急急急急急急急急啊
sc_valentine21 2011-01-24
  • 打赏
  • 举报
回复
问题找到原因了,是某处发生了‘异常’。

真没理解,异常也不退出,断点的时候,是直接跳过了,然后消息派发就没了。
sc_valentine21 2011-01-21
  • 打赏
  • 举报
回复
PreTranslateMessage断点会进来,不过是在对话框创建的时候,然后就再不进断点了,比如说按键,什么的。
Simao 2011-01-21
  • 打赏
  • 举报
回复
但是断点发现,直接在创建的时候,都要进入,然后后面任何操作,都不进来了 是啥意思?
sc_valentine21 2011-01-21
  • 打赏
  • 举报
回复
我先说说,怎么创建的吧,MainFrm里面先创建Dlg1,直接Create,然后Dlg1上点击按钮创建Dlg2,非模态。

两个窗口都重写了PreTranslateMessage,但是断点发现,直接在创建的时候,都要进入,然后后面任何操作,都不进来了,这是怎么回事。
sc_valentine21 2011-01-21
  • 打赏
  • 举报
回复
WindowProc里面打印了,是相等的。
Eleven 2011-01-21
  • 打赏
  • 举报
回复
应该没有问题,另外
你两个对话框创建的样式是一样的,你Create指定的IDD应该是你当前对话框类的ID吧
Simao 2011-01-21
  • 打赏
  • 举报
回复
GetForegroundWindow()返回的值和你的窗体的值做比较就知道了。
sc_valentine21 2011-01-21
  • 打赏
  • 举报
回复
应该是,不过怎么判断?
Simao 2011-01-21
  • 打赏
  • 举报
回复
当前活动窗体是你要处理的窗体吗?

15,979

社区成员

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

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