对话框消息在PreTranslateMessage怎么无法捕获
2个回答
展开全部
MSDN说:
----------MFC--------------
CWnd::PreTranslateMessage
Used by class CWinApp to translate window messages before they are dispatched to the TranslateMessage and DispatchMessage Windows functions.
CWnd::WindowProc
Provides a Windows procedure (WindowProc) for a CWnd object. It dispatches messages through the window’s message map.
显然只有通过TranslateMessage和DispatchMessage函数传过来的消息才能在PreTranslateMessage中捕捉到,什么消息是通过这两个函数我不消息,不过鼠标和键盘还有Timer是一定会过的!
还有就是所有的消息都通过WindowProc所以只要重载这个函数就一定能得到你要的消息!
----------MFC--------------
CWnd::PreTranslateMessage
Used by class CWinApp to translate window messages before they are dispatched to the TranslateMessage and DispatchMessage Windows functions.
CWnd::WindowProc
Provides a Windows procedure (WindowProc) for a CWnd object. It dispatches messages through the window’s message map.
显然只有通过TranslateMessage和DispatchMessage函数传过来的消息才能在PreTranslateMessage中捕捉到,什么消息是通过这两个函数我不消息,不过鼠标和键盘还有Timer是一定会过的!
还有就是所有的消息都通过WindowProc所以只要重载这个函数就一定能得到你要的消息!
展开全部
preTranslateMessage如何禁止Clistctrl响应消息
我使用了preTranslateMessage来捕获键盘消息,但是CListCtrl也受到影响了,比如我用上下左右箭头,CListCtrl里面的内容也跟着移动
------解决方案--------------------
在preTranslateMessage里面处理之后,返回TRUE
------解决方案--------------------
在你的逻辑处理之后不要调用__super:: preTranslateMessage。直接返回TRUE
我使用了preTranslateMessage来捕获键盘消息,但是CListCtrl也受到影响了,比如我用上下左右箭头,CListCtrl里面的内容也跟着移动
------解决方案--------------------
在preTranslateMessage里面处理之后,返回TRUE
------解决方案--------------------
在你的逻辑处理之后不要调用__super:: preTranslateMessage。直接返回TRUE
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询