[サポートFAQ]
ライン
更新日:1998.02.17 - 情報番号:007080
ライン
Q MDI子ウィンドウをオープンし、終了まで待機する
ライン
A FAQ改善アンケートにご協力ください
フォームをMDI子ウィンドウとしてオープンした場合,マクロ実行の流れはモードレスダイアログと同じになります。

次のマクロでは、MDI子ウィンドウをオープンした後メッセージ待ち状態に入り、MDI子ウィンドウをクローズするとメッセージ待ち状態から抜けます。

※MDI子ウィンドウとは、同時に複数ドキュメントを扱える形式のアプリケーションで、各ドキュメントを表示しているウィンドウのことをいいます。メインウィンドウ内に表示されます。

例えば、JustBuilderの【プロジェクト-フォームの追加】を選択して表示されるデザインウィンドウです。

  ■ 操作手順 ■




    !! Mainマクロ

    FormWindows.Add("Form1")   !! (1)

    %a = Application.WorkPlace.Revolve   !! (2)

     

    !! フォームのUnloadイベント

    event Unload()

      Application.WorkPlace.Revolve = 1   !! (3)

    end event

 

    (1)FormWindows.Add("Form1")

      フォームForm1をMDI子ウィンドウとしてオープンします。

      ●Addメソッド

      Add ( <Name>, <Source>, <Left>, <Top>, <Width>, <Height>, <Option>, <Context> )

      MDI子ウィンドウを FormWindow オブジェクトとして開きます。

      開いた FormWindow オブジェクトは、FormWindows コレクションオブジェクトが管理します。

      Name
      FormWindow オブジェクトを識別する名前を文字列で指定。 "Form1"を指定。
      Source
      読込元になる外部ストレージを指定。(省略:プロジェクト内部のフォーム)
      Left
      アプリケーション作業領域の左端からMDI子ウィンドウの左端までの距離をピクセル単位の数値で指定。
      (省略:次のMDI子ウィンドウの表示位置)
      Top
      アプリケーション作業領域の上端からMDI子ウィンドウの上端までの距離をピクセル単位の数値で指定。
      (省略:次のMDI子ウィンドウの表示位置)
      Width
      MDI子ウィンドウの左端から右端までの距離をピクセル単位の数値で指定。
      (省略:デザイン時のサイズ)
      Height
      MDI子ウィンドウの上端から下端までの距離をピクセル単位の数値で指定。
      (省略:デザイン時のサイズ)
      Option
      表示方法を数値で指定。(省略:普通サイズで開く)
      Context
      作成するときのコンテキストを指定。
      オープンした FormWindow オブジェクトの Result プロパティに自動的にコピーされ、そのFormWindow オブジェクトの Load イベント以降で参照できる。
      (省略:nilが渡されます)

      (2)%a = Application.WorkPlace.Revolve

      WorkplaceオブジェクトのRevolveプロパティを利用すると、マクロの手続き中にメッセージ待ち状態を作ることができます。Revolve プロパティから値を取得しようとすると、メッセージ待ち状態になり、アプリケーションの機能を対話的に利用することができます。

      (3)Application.WorkPlace.Revolve = 1

      処理をMainマクロに戻し、(2)の変数 %aに 1を返します。

      メッセージ待ち状態で Revolve プロパティに値を書き込むと、メッセージ待ち状態を終了します。ここで、Revolve プロパティに書き込んだ値は、対応する Revolve プロパティを取得しようとしたマクロでの Revolve プロパティの値になります。

       

      Revolveプロパティに関する記述を行わないと,マクロ実行時にMDI子ウィンドウが一瞬表示されたあとマクロの実行が終了してしまいます。

       

      MDI子ウィンドウとしてオープンした場合,プルダウンメニュー[ウィンドウ]のウィンドウ名の一覧にフォームのキャプション"Form1"が表示されます。

      ※RevolveDepth プロパティ

        再帰階層を示す RevolveDepth プロパティは、 Revolve プロパティの取得によりメッセージ待ち状態に入るたびに値が1つ大きくなり、Revolve プロパティへの設定によりメッセージ待ち状態を終わるたびに値が1つ小さくなります。
        メッセージ待ち状態から抜ける場合は、RevolveDepth プロパティの値をチェックし、下位の階層にメッセージ待ち状態が残っていない事を確認して下さい。
ライン

この情報は、お客様のお役に立ちましたか?

送信
ライン
※本情報の内容は、予告なく変更することがあります。
※本情報の一部または全部を無断で転載及び複写することを禁止します。
※記載された会社名、製品名は、弊社または各社の登録商標もしくは商標です。
弊社の登録商標についてはこちらをご参照ください。