2017-02-04 15 views
0

QMainWindowでマウスをドラッグすると、winEvent仮想関数でWM_KEYDOWNメッセージを受け取ることができます。また、私はVK_CONTROLと "C"が押されているのを見ることができるスパイでWM_KEYDOWNメッセージを受け取ることができます。マウスをドラッグするとqtでWM_KEYDOWNメッセージがトリガされるQMainWindow

QMainWindow(タイトルバーにない)をダブルクリックすると、同じことが起こる可能性があります。

アイデア?

答えて

0

WM_KEYDOWNという名前にもかかわらず、マウスクリックでもトリガされます。 WM_KEYDOWNのwParamはdescribed in the documentationで、

非システムキーの仮想キーコードです。仮想キーコードを参照してください。

the documentation for virtual-key codesを見ると、コード0x01,0x02,0x04,0x05,0x06はすべてマウスクリックに対応しています。ドラッグするとマウスボタンを押したままにするので、これは予想される動作です。

+0

ありがとうございます。しかし、1)ASCIIコード0x03(ctrl + c)はマウスクリックにはマップされません。 2)Qtウィンドウの代わりにウィンドウウィンドウをドラッグすると、そのようなメッセージを受け取ることはできません。 – user497032

関連する問題