モーダル/モードレスダイアログがモーダル/モードレスと呼ばれるのはなぜですか?
-
05-07-2019 - |
質問
モーダルダイアログとモードレスダイアログのどちらがアプリケーションの他の部分の操作をブロックしているのかを思い出すのはいつも困難です。
そのように呼ばれている理由を誰もが知っていますか?
解決
モーダルダイアログでは、アプリケーションを特定の モード (必要に応じて異なる「状態」)に設定します。モード"受け入れられるため、ダイアログ外でのUIアクションが防止されます。
アンドレアスのプロンプトで、ほこりっぽいWindows APIの本を掘らなければならないかもしれないと思いました。広く受け入れられた単語や表現の語源/起源は、初期の文書にしか見られませんが、実際には、 MSのオンライン用語集 。モーダルエントリの読み取り(強調は私のものです):
モーダル
制限付きまたは限定的な相互作用モードでの操作により。モーダルは、多くの場合、所有者ウィンドウとのユーザーの対話を制限するセカンダリウィンドウを表します。参照:モードレス。
他のヒント
モーダルシステムは、複数の「動作モード」を備えたシステムです。このようなシステムは、「Esc」などのキーストロークを使用してモードを切り替えます。 「CTRL + S」。良い例は、「テキストモードの編集」を切り替えるVimテキストエディターです。および「テキストモードのナビゲート」。
したがって、モーダルダイアログは、操作中にメインプログラムを別のモードに切り替えることによってブロックするものです。
これは言語モダリティのヒントだと思います。 「モーダル」ダイアログは(通常)以下の典型的なモーダルに該当する情報を表示するために使用されます:
- 宣言的
- 疑問文
- 感嘆符
これが事実だと思う理由の一部は、より明確な答えを探しているものの、モーダルダイアログの議論方法です。たとえば、 MSDN を使用します-それらの基準は"重要なメッセージを表示するダイアログボックスは常にモーダルである必要があります。"これは、「モーダルの言語定義が宣言的モーダル」であるダイアログボックスはモーダルウィンドウとして作成する必要があります。
これには他の先入観もあります。たとえば、「ダイアログ」という単語は、ダイアログボックスで-それは「ダイアログボックス」と呼ばれますシステムとユーザーの間で対話または会話を提示することになっているためです-計算プロセスの言語用語への別の先祖返り。