このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
コンポーネント間でコールバックを共有すると,アプリで複数の操作方法を提供する場合に便利です。たとえば,ボタンをクリックしたときと,編集フィールドで输入キーを押したときのアプリの反応を同じにすることができます。
この例では,コールバックを共有する2つのUIコンポーネントが含まれるアプリを作成する方法を説明します。このアプリでは,指定した数のレベルをもつ等高線図が表示されます。編集フィールドで値を変更する場合,输入キーを押すか,(更新图)ボタンをクリックしてプロットを更新できます。
程序设计师で,[座標軸]コンポーネントを[コンポーネントライブラリ]からキャンバスにドラッグします。以下の変更を行います。
タイトルをダブルクリックして,选择峰函数的轮廓
に変更します。
X軸とY軸のラベルをダブルクリックし,删除キーを押して削除します。
[編集フィールド(数値))コンポーネントを座標軸の下からキャンバスにドラッグします。以下の変更を行います。
編集フィールドの隣のラベルをダブルリックし,级别:
に変更します。
編集フィールドをダブルクリックして既定値を20.
に変更します。
編集フィールドの近くの[ボタン]コンポーネントをキャンバスにドラッグします。次に,そのラベルをダブルクリックし,更新图
に変更します。
ボタンをクリックした際に実行されるコールバック関数を追加します。(更新图)ボタンを右クリックし,[コールバック]、[ButtonPushedFcnコールバックの追加)を選択します。
程序设计师が[コードビュー]に切り替わります。次のコードをUpdatePlotButtonPushed
コールバックの本体に貼り付けます。
Z =峰(100);nlevels = app.LevelsEditField.Value;轮廓(app.UIAxes, Z, nlevels);
次に,コールバックを編集フィールドと共有します。[コンポーネントブラウザー]で,app.LevelsEditField
コンポーネントを右クリックし,[コールバック]、(既存のコールバックを選択]を選択します。[コールバック関数の選択]ダイアログボックスが表示されたら,[名前]ドロップダウンメニューから(UpdatePlotButtonPushed)を選択します。
このコールバックを共有すると,編集フィールドで値を変更し,输入キーを押した後にプロットを更新できます。または,値を変更し,(更新图)ボタンを押すことができます。
次に,座標軸の縦横比と範囲を設定します。[コンポーネントブラウザー]で,app.UIAxes
コンポーネントを選択します。次に,[インスペクター]タブで次の変更を行います。
(PlotBoxAspectRatio)を1, 1, 1
に設定します。
(XLim)と(YLim)を0100年
に設定します。
[実行]をクリックしてアプリを保存し,実行します。
コンポーネントに別のコールバックを割り当てるには,[コンポーネントブラウザー]でそのコンポーネントを選択します。次に,[コールバック]タブをクリックし,ドロップダウンメニューから別のコールバックを選択します。ドロップダウンには,既存のコールバックのみが表示されます。
コンポーネントと共有されているコールバックを切断するには,[コンポーネントブラウザー]でそのコンポーネントを選択します。次に,[コールバック]タブをクリックし,ドロップダウンメニューから(<コールバックなし>)を選択します。このオプションの選択により,コンポーネントからコールバックのみが切断されます。コードから関数定義が削除されることはなく,また他のコンポーネントからコールバックが切断されることもありません。コールバックを切断した後,コンポーネントの新しいコールバックを作成するか,コンポーネントをコールバック関数なしの状態のままにできます。
コールバック関数の定義をコードから削除するには,[コードブラウザー]の[コールバック]タブに移動し,削除するコールバックを右クリックします。次に,コンテキストメニューから[削除]を選択します。