Set Selected (Item Number, <State>, <Run Script(0|1)>)メッセージを使うと、項目を最初から選択された状態にすることができます。このメッセージは、保存されているディスプレイボックス参照に対して単独で使用するか、List Boxの<<メッセージとして使用できます。
選択された値を取得するには、Get Selectedメッセージ使用します。これは、選択された項目の値を戻します。Get Selected Indicesメッセージは、選択された項目のインデックス番号を戻します。
antennaList = {"パラボラ","ヘリカル","極性","ラジアントアレイ"};
win = New Window( "リストのテスト", // 方法1: ディスプレイボックスの参照
listObj = List Box(
antennaList,
Print(
"iList",
listObj << Get Selected,
listObj << Get Selected Indices
)
)
);
listObj << Set Selected( 2, 1 );
win = New Window( "リストのテスト", // 方法2: インライン
listObj = List Box(
antennaList,
<<Set Selected( 2, 1 ),
Print(
"iList",
listObj << Get Selected,
listObj << Get Selected Indices
)
)
);
前述の例では、Set Selectedメッセージが完了すると、Print式が実行されます。スクリプトが実行されないようにするには、最後の引数としてRun Script(0)を含めます。Run Script( 0|1 )は、ディスプレイボックスの変化に反応するスクリプトをSetまたはSet Selectedメッセージの後で実行するかどうかを制御します。
antennaList = {"パラボラ","ヘリカル","極性","ラジアントアレイ"};
win = New Window( "リストのテスト",
listObj = List Box(
antennaList,
Print(
"iList",
listObj << Get Selected,
listObj << Get Selected Indices
)
)
);
listObj << Set Selected( 2, 1, Run Script( 0 ) );
Run Script( 1 )を指定すると、Setメッセージの完了後にスクリプトが実行されます。値に変化がない場合でも実行されます。(ユーザが同じ値を選択した場合は、スクリプトは実行されません。)Run Script( 0 )を指定すると、スクリプトは実行されません。
インタラクティブなディスプレイボックスのほとんどでは、Run Script()を使用しない場合、スクリプトは実行されません。ただし、List Box()では、以前の動作と同様、デフォルトでスクリプトが実行されます。