2009-07-28 1 views
0

私は、ボタンのプッシュとリリースのために別々のイベントを必要とするWindowsアプリケーションで作業しています。ボタンが押されている間、私は子ウィンドウにあるopenglシーンを回転させる必要があります。プッシュ/リリースボタンクリック

私は、シーンを回転させるたびにユーザーが複数のボタンをクリックする必要がないようにしたいと思います。

私は、ユーザーがマウスボタンを離すまでWM_COMMANDが送られていないことを見てきた

...

ありがとう!

答えて

1

windows subclassingのWin32 APIドキュメントも参照してください。また、あなたはGoogleの "サブクラス化するWindows"することができますし、多くの例を見つけることができるはずです。

+0

素晴らしい!ウィンドウのサブクラス化とWM_LBUTTONDOWNとWM_LBUTTONUPのトラッキングを使用すると問題なく動作します) ありがとう! –

1

Windows APIを使用している場合は、ボタンのHWNDを使用してDefWndProcトラックWM_LBUTTONDOWNWM_LBUTTONUPを自分で使用することができます。

+0

ありがとうございます、あなたのコメントも正しい解決策につながった;) –

0

私は専門家ではありませんが、マウスのボタンup \ downイベント(WM_LBUTTONDOWN、WM_RBUTTONDOWN)を見なければならないと思います。マウスの移動イベントを追跡して、リリースとして機能します。私は、便利なマウスイベント\ enterイベントがあると信じています。

0

Windows UIは、マウスの上のメッセージでボタンがクリックされるように設計されています。これにより、ユーザは心を変えることができます(つまり、正しい場所に移動してボタンを放す)。

これは、WM_COMMANDBN_CLICKEDを得る前にWM_LBUTTONDOWNWM_LBUTTONU Pの両方を取得することを意味します。

ユーザーがボタンをクリックしたときに操作を実行するには、WM_LBUTTONDOWNメッセージを手動で処理する必要があります。