フォーム: ボタン特性の実行元

ボタン特性V10以降であれば、プッシュボタンの特性に「実行元」という設定があります。

デフォルトは「C=コンテナ タスク」です。
ボタンを貼り付けているタスクで、設定された「実行イベント」が機能します。
つまり、従来通りの動きです。

それとは別に、もう一つ選択肢があります。
「T=フォーカス上のタスク」です。
これは、ボタンが押されたときにフォーカスがあるタスクで、設定された「実行イベント」が機能します。

例えば、ヘッダ/明細のような親子タスクがあり、親タスクに終了ボタンを設置したとします。

実行元が「C=コンテナ タスク」の場合、フォーカスが親タスクでも、子タスクでも関係なく、ボタンを押すと常に親タスクが終了します。

対して、実行元が「T=フォーカス上のタスク」の場合、フォーカスが親タスクにあるときにボタンを押すと、親タスクが終了しますが、フォーカスが子タスクにあるときにボタンを押すと、子タスクのみ終了して、親タスクに戻ってきます。

V9Plus以前で、親子(両方の)タスクでボタンの動作を制御したい場合は、子タスクにもボタンを付けて、フォーカスがどちらにあるかで、ボタンの表示を切り替える等、苦肉の策が必要でしたが、V10では、この機能をうまく活用すると、親タスクにだけボタンを設置しておけば良いので、スマートなプログラムになります。