Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 拖动鼠标可以在qt QMainWindow上触发WM_键下消息_Windows_Qt_Messages - Fatal编程技术网

Windows 拖动鼠标可以在qt QMainWindow上触发WM_键下消息

Windows 拖动鼠标可以在qt QMainWindow上触发WM_键下消息,windows,qt,messages,Windows,Qt,Messages,当我在QMainWindow中拖动鼠标(不在标题栏中)时,我可以在winEvent虚拟函数中接收WM_KEYDOWN消息。我还可以在spy中接收WM_KEYDOWN消息,其中我可以看到VK_控件和“C”被按下 当我双击QMainWindow(不在标题栏中)时,同样的事情也会发生 有什么想法吗?尽管名称为WM_,但单击鼠标也会触发按键。WM_KEYDOWN的wParam如下所示: 非系统密钥的虚拟密钥代码。请参阅虚拟钥匙代码 如果您查看,代码0x01、0x02、0x04、0x05和0x06都与鼠标

当我在QMainWindow中拖动鼠标(不在标题栏中)时,我可以在winEvent虚拟函数中接收WM_KEYDOWN消息。我还可以在spy中接收WM_KEYDOWN消息,其中我可以看到VK_控件和“C”被按下

当我双击QMainWindow(不在标题栏中)时,同样的事情也会发生


有什么想法吗?

尽管名称为WM_,但单击鼠标也会触发按键。WM_KEYDOWN的wParam如下所示:

非系统密钥的虚拟密钥代码。请参阅虚拟钥匙代码

如果您查看,代码0x01、0x02、0x04、0x05和0x06都与鼠标单击相对应。由于拖动需要按住鼠标按钮,因此这是预期的行为。

谢谢。但是1)ascii码0x03(ctrl+c)不会映射到任何鼠标单击。2) 当拖动windows窗口而不是Qt窗口时,您将无法收到此类消息。