モーダルフォームを作る

f:id:accs2014:20181026002131p:plain:right:w550

 モーダルフォーム、つまり常に前面に表示され、そのフォームを閉じない限り他のフォームに移れないようなフォームの作り方です。
 やり方は簡単で、プロパティの「ポップアップ」と「作業ウインドウ固定」をそれぞれ「はい」とします。


f:id:accs2014:20181026002129p:plain:right:w450

 フォームビューです。
 比較対象として「普通のフォーム」を一緒に開いていますが、「モーダルフォーム」の方が常に前面に表示され、「普通のフォーム」をクリックしてもアクティブにはならず、「モーダルフォーム」を閉じない限り操作できません。

 各プロパティの機能の確認ですが「ポップアップ」を「はい」とすることにより(通常のオブジェクトをタブ表示としている場合でも)フォームはウインドウとして表示されます。また、「作業ウインドウ固定」を「はい」とすることにより、そのフォームを閉じない限り他のフォームに移れなくなります。
 つまり「作業ウインドウ固定」を「はい」とするだけでもモーダルフォームになるといえますが、実際に想定されるモーダルフォームの役割(重要な警告表示やパラメータ入力用など)を考えると「ポップアップ=はい」と併用し、他のフォームと共に表示させるのが普通かと思います。


f:id:accs2014:20181026002126p:plain:right:w550

 ちなみに、モーダルフォームから別のモーダルフォームを開くと、後に開いたフォームの方がモーダルフォームとなります。
 この画像の例の場合「モーダルフォーム」上のボタンの機能により「モーダルフォーム2」を開いていますが、「モーダルフォーム2」を閉じないと「モーダルフォーム」を操作できませんし、さらに「モーダルフォーム」を閉じない限り「普通のフォーム」を操作できません。