做了个activex控件,WindowProc能获取到消息, 但是PreTranslateMessage得不到消息
如何在WindowProc处的消息传递到PreTranslateMessageLRESULT CWebScanCtrl::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class return COleControl::WindowProc(message, wParam, lParam);
}BOOL CWebScanCtrl::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
ProcessMessage(*pMsg);
return COleControl::PreTranslateMessage(pMsg);
}
如何在WindowProc处的消息传递到PreTranslateMessageLRESULT CWebScanCtrl::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
// TODO: Add your specialized code here and/or call the base class return COleControl::WindowProc(message, wParam, lParam);
}BOOL CWebScanCtrl::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
ProcessMessage(*pMsg);
return COleControl::PreTranslateMessage(pMsg);
}
解决方案 »
- 关于程序密码。
- 请问如何解决出现大量的socket WSAECONNRESET(10054) 错误!
- VS2008:对于基于MDI多文档的工程,如何使户界面中的右键菜单风格和框架的菜单栏一致?
- DialogBar上的编辑框的WM_CHAR的问题!
- 缓冲区好大大大大大大大大大大大大大大大大啊
- 怎么在ocx里面使用自己其他的控件
- 完成端口==高性能?? 对iocp感兴趣的都来看一下吧
- 购书的问题
- masterz(),jiangsheng(蒋晟)快来救命~~~~先给20分,你们来了再加分(帮我up有分)~~~~
- 在Visual Studio和Office中,菜单栏是可以拖动的,当你将菜单栏拖到工作区,并将你正写的文档最大化,最大化、最小化和恢复按钮就会出现在这个浮动的菜单栏上,这是如何实现的?
- 显示jpg图片那个程序如何让他显示到一个固定大小固定位置?
- 请问MFC里面SetTimer的回调函数如何写呢?
只有穿过消息队列的消息才受PreTranslateMessage()影响,采用SendMessage()或其他类似的方式向窗口直接发送的而不经过消息队列的消息根本不会理睬PreTranslateMessage()的存在。
一般容器不会调用这个函数。
MFC中PreTranslateMessage是GetMessage(...)函数的下一级操作,即GetMessage(...)从消息队列中获取消息后,交由PreTranslateMessage()处理,若其返回FALSE则再交给TranslateMessage和DispatchMessage处理(进入WindowProc);
如果用SendMessage, 则消息直接交到WindowProc处理,所以GetMessage不会取得SendMessage的消息,当然PreTranslateMessage也就不会被调用。
如果用PostMessage,则消息进入消息队列,由GetMessage取得,PreTranslateMessage就有机会进行处理。
你在WindowProc接收消息后PostMessage,PreTranslateMessage就有机会进行处理。 你可以试试!
TWAIN那个对话框是驱动弹出来的,不同的驱动有不同的界面,消息过程也不一样。