iiil_ControlBox

最小化・最大化・閉じる ボタンの無効化

ScriptMakerMS BETA1.5~

iiil_ControlBox( ClassName ; WindowTitle ; type ; Value )/*FMPRO7APP,FMPRO7RUNTIME,FMPRO11.0APP,FMPRO11.0RUNTIME*/

ClassName =

FMPRO7APP

FMPRO7RUNTIME

FMPRO11.0APP

FMPRO11.0RUNTIME

FMPRO12.0APP

WindowTitle = ウインドウタイトル

type= Mini | Max | Close

Value= 0 or 1

Closeボタンは、無効の場合、グレーアウトします。

Mini | Max とも無効にすると表示が消えます。

FileMaker親ウインドウの制御

iiil_ControlBox( "FMPRO11.0APP" ; "" ; "Close" ; 0 )

1番目の引数 FM11の場合"FMPRO11.0APP"

2番目の引数WindowTitleを省略で親ウインドウの制御になります。

子ウインドウの制御

iiil_ControlBox( "FMPRO11.0APP" ; "ControlBox" ; "Mini | Max | Close" ; 0 )

2番目の引数にウインドウタイトルを指定します。

3番目の引数は Nimi Max Close の文字が入っていればOK。

MiniMaxClose とか NimiMax とか NimiClose でもOK。

※注意!

Mini | Max」を指定した場合、ボタンが再絵画しません。(たまに再絵画する)

FileMakerのスクリプトで 

ウインドウの調整[隠す]

ウインドウを選択[現在のウインドウ]

などとし、ウインドウを再絵画させるとキチンと表示し直します。

Closeの場合は、何もしなくてOK。

※※注意!

ウインドウが最大化の状態で[最大化]ボタンを無効にしても、[元に戻す]ボタンは無効になりません

したがって、子ウインドウを最大化表示のまま維持させることはできません。

ウインドウタイトルでの指定になるので、別ファイルの指定もできます。

共有ファイルの場合、ウインドウタイトが「ウインドウタイトル(ホストPC名)」となり指定が困難になります。

解決策としては、

ウインドウタイトルの設定 [現在のウインドウ; 新規タイトル: Get ( ウインドウ名 )] 

とし、ウインドウタイトルを書き換えてから指定を行う事ができます。

iiil_ControlBox( "FMPRO11.0APP" ; Get ( ウインドウ名 ) ; "Close" ; 0 )

とかでもOK。

iiil_ControlBox( "" ; "ControlBox" ; "Mini | Max | Close" ; 0 )

1番目の引数 ClassName を省略した場合、

FM11

FM7~10

FM11ランタイム

FM7~10ランタイム

の順にウインドウを探します。

ファイルメーカー(ランタイムを含む)を単独で起動している場合は、ClassNameは省略でOK。

iiil_ControlBox( "" ; "ControlBox" ; "Mini | Max | Close" ; 0 )

複数起動時の注意!

FM11 と FM9 を起動し

FM11 で

iiil_ControlBox( "FMPRO7APP" ; "ControlBox" ; "Mini | Max | Close" ; 0 )

を実行すると

FM9 の ウインドウが変更されます。

FM11 と FM9 を起動し

FM9 で

iiil_ControlBox( "" ; "ControlBox" ; "Mini | Max | Close" ; 0 )

を実行すると

FM11 の ウインドウが変更されます。(ClassName省略時はFM11優先)

問題:

FileMakerの「メニューセットのインストール」と

ScriptMakerMSの「iiil_ControlBox」を使用した時、

FileMakerのメニューに不具合(メニューが右端に寄る)が起こりその後、

「メニューセットのインストール」を実行するとFileMakerがフリーズします。

また、ScriptMakerMSの「iiil_ControlBox」を実行した場合もFileMakerがフリーズします。

※ScriptMakerMSの「iiil_ControlBox」でウインドウのコントロールボックスを「無効」にした時に

問題が発生します。「有効」に設定する場合は、FileMakerのメニューに不具合は起こりません。

現象(1):

コントロールボックスが無効のときに、

FileMakerの「メニューセットのインストール」で標準以外の「メニューセット」を指定すると

FileMakerのメニューに不具合(メニューが右端に寄る)が起こります。

現象(2):

以下の様に

FileMakerの「メニューセットのインストール」

ScriptMakerMSの「iiil_ControlBox」を連続して実行した時も

FileMakerのメニューに不具合(メニューが右端に寄る)が起こります。

スクリプト サンプル:

     メニューセットのインストール [「TESTメニューセット」;

     フィールド設定 [テスト::スクリプトフィールド; iiil_ControlBox( "FMPRO11.0RUNTIME" ; ...)

解決策:

【コントロールボックスを無効にする|メニューセットのインストールを使用する場合】

方法:

     ウインドウのコントロールボックス[最小化|最大化|閉じる]を有効にする

     一時停止

     メニューセットのインストール

     一時停止

     ウインドウのコントロールボックス[最小化|最大化|閉じる]を無効にする

スクリプト サンプル:

     フィールド設定 [テスト::スクリプトフィールド; iiil_ControlBox( "FMPRO11.0RUNTIME" ;"*****" ; "Mini | Max | Close" ; 1 )

     スクリプト一時停止/続行 [間隔(秒): 0]

     メニューセットのインストール [「TESTメニューセット」;

     スクリプト一時停止/続行 [間隔(秒): 0]

     フィールド設定 [テスト::スクリプトフィールド; iiil_ControlBox( "FMPRO11.0RUNTIME" ;"*****" ; "Mini | Max | Close" ; 0 )

下、サンプル