如何在Qt中处理(接收/发送)MFC或Windows消息(直接覆盖MainDialog::nativeEvent,或者QApplication::installNativeEventFilter安装过滤器,或者直接改写QApplication::nativeEventFilter)

关于接收:

Receive WM_COPYDATA messages in a Qt app.

还有个中文网站:

提问: 如何在Qt中模拟MFC的消息机制

 

关于发送:

用Qt在Windows下编程,如何调用Windows系统的API?

 

稍后会把内容补上

 

后来,Qt5把winEvent函数废弃掉了,换成bool QWidget::​nativeEvent(const QByteArray & eventType, void * message, long * result)函数了:

这里有个举例子

http://blog.csdn.NET/slug302/article/details/17212521

 

[cpp] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. bool MainDialog::nativeEvent(const QByteArray &eventType, void *message, long *result)  
  2. {  
  3.     Q_UNUSED(eventType);  
  4.   
  5.     MSG* msg = reinterpret_cast<MSG*>(message);  
  6.     return winEvent(msg, result);  
  7. }  
  8.   
  9. bool MainDialog::winEvent(MSG *message, long *result)  
  10. {  
  11.     ...  
  12.     if (message->message != WM_NCHITTEST )  
  13.     {  
  14. #if QT_VERSION < 0x050000  
  15.         return QDialog::winEvent(message, result);  
  16. #else  
  17.         return QDialog::nativeEvent("", message, result);  
  18. #endif  
  19.     }  
  20.     ...  
  21. }  

 

http://blog.csdn.net/lslxdx/article/details/7406861

http://blog.csdn.net/haluoluo211/article/details/45826425

http://blog.chinaunix.net/uid-13830775-id-262362.html

http://www.voidcn.com/blog/debugconsole/article/p-2948646.html

http://www.bozhiyue.com/anroid/wenzhang/2016/0427/38604.html

posted @ 2016-11-04 20:02  findumars  Views(3493)  Comments(0Edit  收藏  举报