2017-03-01 10 views
0

WebブラウザーやWindowsファイルマネージャーなど、多くのアプリケーションでは、前後のナビゲーションがサポートされています。これは常に、マウスのボタンがあれば、デフォルトでは常に(あるいは少なくともほとんどの場合)動作します。WinAPI navigate back/forward

私はこれをWinAPIをベースにしているC++アプリケーションに実装したいと考えています。しかし、私はどのようにこれを行うだろうか?マウスのボタンは、この順方向/逆方向のナビゲーションを持つ各アプリケーションで「手動」でキャプチャされていますか、またはWinAPIのどこかでネイティブサポートされていますか?

ボタンを手動でキャプチャするのはおそらくオプションですが、これを処理する既存の機能が既に存在する場合は、その代わりに使用する必要があるようです。おそらくもっと信頼できるでしょう。

要約:アプリケーションで、そのようなボタンを持つマウスからの前後クリックを正しく処理/受信するようにします。

答えて

2

WM_APPCOMMANDメッセージには、APPCOMMAND_BROWSER_FORWARD(「前方へナビゲート」)とAPPCOMMAND_BROWSER_BACKWARD(「後方へナビゲート」)のナビゲーションコマンドがあります。ブラウザでなくても、アプリケーションでそれらを処理できます。

ドキュメントがどのように、いつWM_APPCOMMANDが生成され、情報を持っている:

DefWindowProcは、WM_XBUTTONUP又はWM_NCXBUTTONUPメッセージを処理するときWM_APPCOMMANDメッセージを生成するとき、またはユーザーがアプリケーション・コマンド・キー。