モーダルウィンドウがアクティブな間、FirefoxやWordのようなアプリケーションのメインウィンドウとやりとりしたい。私は相互作用によって何を意味モーダルウィンドウがアクティブな間にメインウィンドウと対話する
された:
- コピーしたテキスト
- 移動ウィンドウ
- (xボタンを押して)ウィンドウを閉じる
は、Windows環境下でこれらの可能性はありますか?
モーダルウィンドウがアクティブな間、FirefoxやWordのようなアプリケーションのメインウィンドウとやりとりしたい。私は相互作用によって何を意味モーダルウィンドウがアクティブな間にメインウィンドウと対話する
された:
は、Windows環境下でこれらの可能性はありますか?
いいえ、モーダルウィンドウは親のメッセージングループを隠すので、イベントは処理されません。
プログラムで実行する場合は、できます。 SendMessageは、ターゲットがそれを期待していないときにターゲットウィンドウのメッセージハンドラを呼び出すので、あなたがしていることに非常に注意する方がよいでしょう。
Blindyがあなたに質問に答えたとしても、マウスとキーボードを操作して、それをユーザーとして実行したい場合は、別のWebサイトに質問があります。
あなたの結論は技術的に間違っていますが、オーバーライドされたメッセージループは依然としてメッセージを親ウィンドウにディスパッチして、イベントを処理します。これは、たとえモーダルダイアログが表示されていても、必要に応じてサンプルウィンドウを再描画する理由です。メインウィンドウがテキスト入力などのセマンティックなものを処理するかどうかはもちろん、アプリケーションの構築方法に基づいています。 – Cray
あなたのアプリケーションは 'WM_PAINT'を送信しません。私たちはそれに同意することに同意するでしょうが、Windowsのメッセージループがどのように動作するかを実際に調べて、いつ便利になるのか分かりません。 – Blindy
誰でもそれを送信しますが、基本的な前提は "イベントは処理されないので[モーダルダイアログの親ウィンドウ]"が間違っています。ダイアログの内部ループは、親ウィンドウに送信されたメッセージをディスパッチするため、処理されます。将来の人々があなたの答えによって混乱しないように、私はそれを指摘しました。 – Cray