ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

App Designer でコールバックを記述する

メモ

GUIDE でのコールバックの詳細については、GUIDE でのコールバックの作成を参照してください。プログラムによってアプリを作成している場合は、プログラムによって作成されたアプリのコールバックの記述を参照してください。

コールバックは、ユーザーがアプリの UI コンポーネントを操作したときに実行される関数です。ほとんどのコンポーネントは、少なくとも 1 つのコールバックをもつことができます。ただし、ラベル、ランプなどのコンポーネントは情報を表示するのみのコンポーネントであるため、コールバックをもちません。

コンポーネントでサポートされるコールバックのリストを確認するには、コンポーネントを選択し、[コンポーネント ブラウザー][コールバック] タブをクリックします。

コールバック関数の作成

UI コンポーネントのコールバックを作成する方法はいくつかあります。作業している App Designer の場所に応じて、異なるアプローチを使用できます。最適なアプローチを次のリストから選択します。

  • キャンバス、[コンポーネント ブラウザー]、または [アプリ レイアウト] ペインでコンポーネントを右クリックし、[コールバック][(コールバック プロパティ) コールバックの追加] を選択します。

  • [コンポーネント ブラウザー][コールバック] タブを選択します。[コールバック] タブの左側に、サポートされるコールバック プロパティのリストが表示されます。各コールバック プロパティの横にあるテキスト フィールドを使用すると、そのコールバック関数の名前を指定できます。テキスト フィールドの横にある下矢印を使用すると、山かっこ (<>) で囲まれている既定の名前を選択できます。アプリに既存のコールバックがある場合、ドロップダウンにはそれらのコールバックも表示されます。複数の UI コンポーネントが同じコードを実行するようにする場合は、既存のコールバックを選択します。

  • [コード ビュー][エディター] タブで、[コールバック] をクリックします。または、[コード ブラウザー][コールバック] タブで、 ボタンをクリックします。

    [コールバック関数の追加] ダイアログ ボックスで、次のオプションを指定します。

    • コンポーネント — コールバックを実行する UI コンポーネントを指定します。

    • コールバック — コールバック プロパティを指定します。コールバック プロパティは、コールバック関数を特定の操作にマップします。一部のコンポーネントは、複数のコールバック プロパティをもつことができます。たとえば、スライダーには 2 つのコールバック プロパティ (ValueChangedFcn および ValueChangingFcn) があります。ValueChangedFcn プロパティは、ユーザーがスライダーを動かし、マウスを離したときに実行されます。同じコンポーネントの ValueChangingFcn プロパティは、ユーザーがスライダーを動かしている間繰り返し実行されます。

    • 名前 — コールバック関数の名前を指定します。App Designer によって既定の名前が設定されますが、テキスト フィールドでそれを変更できます。アプリに既存のコールバックがある場合は、[名前] フィールドの横に下矢印が表示され、リストから既存のコールバックを選択できることが示されます。

コールバック関数の入力引数の使用

App Designer 内のすべてのコールバックには、関数シグネチャに次の入力引数があります。

  • appapp オブジェクト。このオブジェクトは、アプリ内の UI コンポーネント、およびプロパティとして格納されている他の変数にアクセスするために使用します。

  • event — UI コンポーネントのユーザー操作に関する特定の情報が含まれているオブジェクト。

app 引数は、コールバックに app オブジェクトを提供します。この構文を使用して、任意のコールバック内の任意のコンポーネント (およびコンポーネント固有のすべてのプロパティ) にアクセスできます。

app.Component.Property

たとえば、次のコマンドはゲージの Value プロパティを 50 に設定します。この例では、ゲージの名前は PressureGauge です。

app.PressureGauge.Value = 50;

event 引数は、実行されている特定のコールバックに応じて、さまざまなプロパティをもつオブジェクトを提供します。オブジェクト プロパティには、コールバックが応答している操作のタイプに関連する情報が含まれています。たとえば、スライダーの ValueChangingFcn コールバックの event 引数には、Value と呼ばれるプロパティが含まれています。このプロパティには、ユーザーがサムを動かしたとき (マウスを離す前) にスライダー値が格納されます。event 引数を使用して、ゲージがスライダーの値を追跡するようにするスライダーのコールバック関数を次に示します。

function SliderValueChanged(app, event)
      latestvalue = event.Value; % Current slider value
      app.PressureGauge.Value = latestvalue;  % Update gauge   
end
特定のコンポーネントのコールバック関数の event 引数の詳細については、そのコンポーネントのプロパティ ページを参照してください。プロパティ ページを開くには、コンポーネントを右クリックして [選択のヘルプ] を選択します。すべての UI コンポーネントのプロパティ ページのリストについては、App Designer でのアプリの設計を参照してください。

コード内のコールバックの検索

アプリに多数のコールバックがある場合は、[コード ブラウザー][コールバック] タブの上部にある検索バーに名前の一部を入力することによって、特定のコールバックをすばやく検索して移動できます。入力を始めると、[コールバック] ペインがクリアされ、検索に一致するコールバックのみが表示されます。

検索結果をクリックし、コールバックをスクロールして表示します。検索結果を右クリックして [移動] を選択すると、コールバック関数にカーソルが置かれます。

コールバックの削除

コールバックを削除するには、[コード ブラウザー][コールバック] タブでコールバックを右クリックして、コンテキスト メニューから [削除] を選択します。

例: スライダー コールバックをもつアプリ

このアプリには、ユーザーがサムを動かしたときにスライダーの値を追跡するゲージが含まれています。スライダーの ValueChangingFcn コールバックは、event 引数からスライダーの現在の値を取得します。その後、ゲージの針がその値に移動されます。

関連するトピック