2009-05-18 5 views
0

モーダルウィンドウがアクティブな間、FirefoxやWordのようなアプリケーションのメインウィンドウとやりとりしたい。私は相互作用によって何を意味モーダルウィンドウがアクティブな間にメインウィンドウと対話する

された:

  • コピーしたテキスト
  • 移動ウィンドウ
  • (xボタンを押して)ウィンドウを閉じる

は、Windows環境下でこれらの可能性はありますか?

答えて

0

いいえ、モーダルウィンドウは親のメッセージングループを隠すので、イベントは処理されません。

+0

あなたの結論は技術的に間違っていますが、オーバーライドされたメッセージループは依然としてメッセージを親ウィンドウにディスパッチして、イベントを処理します。これは、たとえモーダルダイアログが表示されていても、必要に応じてサンプルウィンドウを再描画する理由です。メインウィンドウがテキスト入力などのセマンティックなものを処理するかどうかはもちろん、アプリケーションの構築方法に基づいています。 – Cray

+0

あなたのアプリケーションは 'WM_PAINT'を送信しません。私たちはそれに同意することに同意するでしょうが、Windowsのメッセージループがどのように動作するかを実際に調べて、いつ便利になるのか分かりません。 – Blindy

+0

誰でもそれを送信しますが、基本的な前提は "イベントは処理されないので[モーダルダイアログの親ウィンドウ]"が間違っています。ダイアログの内部ループは、親ウィンドウに送信されたメッセージをディスパッチするため、処理されます。将来の人々があなたの答えによって混乱しないように、私はそれを指摘しました。 – Cray

0

プログラムで実行する場合は、できます。 SendMessageは、ターゲットがそれを期待していないときにターゲットウィンドウのメッセージハンドラを呼び出すので、あなたがしていることに非常に注意する方がよいでしょう。

Blindyがあなたに質問に答えたとしても、マウスとキーボードを操作して、それをユーザーとして実行したい場合は、別のWebサイトに質問があります。

関連する問題