Main Content

App Designer でのカスタム UI コンポーネントの起動タスクの定義

App Designer でカスタム UI コンポーネントを作成すると、自分および他のアプリ作成者はそのコンポーネントをアプリで使用できます。コンポーネントが含まれているアプリが初めて起動したときに、アプリのユーザーがアプリを操作する前に実行される 1 回限りの起動タスクを実行するコードを記述できます。このような起動タスクは、カスタム コンポーネント オブジェクトの PostSetupFcn コールバックで実行します。たとえば、PostSetupFcn コールバックを使用して、コンポーネントのパブリック プロパティを初期化したり、プロットやテーブルにデータを表示したりすることができます。

コンポーネントの設定の概要

[設計ビュー] でカスタム UI コンポーネントをレイアウトすると、App Designer で初期のカスタム コンポーネントのレイアウトおよび動作を作成して構成するコードが生成されます。このコードは、カスタム コンポーネントを構成する基となる UI コンポーネントを作成し、そうした基となるコンポーネントのプロパティおよびコールバックを設定します。App Designer により、[コード ビュー] のカスタム コンポーネント クラス ファイルの関数 setup にこの起動コードが追加されます。関数 setup は、カスタム コンポーネントを含むアプリが実行されたときなど、カスタム コンポーネントのインスタンスが作成されたときに 1 回実行されます。

PostSetupFcn コールバックをカスタム UI コンポーネントに追加すると、関数のコードが、App Designer によって生成された設定コードの後に、コンポーネントの関数 setup の一部として実行されます。

PostSetupFcn コールバックの追加

カスタム コンポーネントの作成時に起動タスクを実行するコードを記述するには、PostSetupFcn コールバックをコンポーネントに追加します。PostSetupFcn コールバックの作成にはいくつかの方法があります。

  • [コンポーネント ブラウザー] の階層最上位のコンポーネント ノードを右クリックし、[コールバック][PostSetupFcn コールバックの追加] を選択します。

  • [コンポーネント ブラウザー] の上部にあるコンポーネント ノードを選択し、[コールバック] タブを選択します。[PRIVATE CALLBACKS][PostSetupFcn] の横にあるドロップダウン リストを展開し、[PostSetupFcn コールバックの追加] を選択します。

  • [コード ビュー] のツールストリップの [エディター] タブで、 [コールバック] をクリックします。

  • [コードビュー][コード ブラウザー][コールバック] タブで Plus ボタンをクリックします。

例: 起動タスクを実行するタイマー コンポーネント

この例では、カスタム タイマー コンポーネントの起動タスクおよび動作をプログラミングする方法を示します。PostSetupFcn は、コンポーネントの動作を制御する、基となる timer オブジェクトを作成して構成します。

コンポーネントは以下で構成されます。

  • タイマーの残り時間をカウントダウンするテキスト

  • アプリのユーザーがタイマーを操作するための StartStop、および Reset ボタン

  • アプリの作成者がタイマーの長さを指定するための、Seconds および Minutes という名前のパブリック プロパティ

  • タイマーがゼロに達したときの応答をアプリの作成者がプログラミングするための、TimerEndedFcn という名前のパブリック コールバック

コンポーネント コードを調べるには、App Designer で TimerComponent.mlapp ファイルを開きます。

参考

クラス

関連するトピック