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 コールバックの追加]
を選択します。[コード ビュー] のツールストリップの [エディター] タブで、
[コールバック] をクリックします。
[コードビュー] の [コード ブラウザー] の [コールバック] タブで
ボタンをクリックします。
例: 起動タスクを実行するタイマー コンポーネント
この例では、カスタム タイマー コンポーネントの起動タスクおよび動作をプログラミングする方法を示します。PostSetupFcn
は、コンポーネントの動作を制御する、基となる timer
オブジェクトを作成して構成します。
コンポーネントは以下で構成されます。
タイマーの残り時間をカウントダウンするテキスト
アプリのユーザーがタイマーを操作するための
Start
、Stop
、およびReset
ボタンアプリの作成者がタイマーの長さを指定するための、
Seconds
およびMinutes
という名前のパブリック プロパティタイマーがゼロに達したときの応答をアプリの作成者がプログラミングするための、
TimerEndedFcn
という名前のパブリック コールバック
コンポーネント コードを調べるには、App Designer で TimerComponent.mlapp
ファイルを開きます。