主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

グラフィックス コールバックのクラス メソッド

メソッドの参照

通常のクラス メソッドをグラフィックス オブジェクトのコールバックとして使用するには、メソッドを参照する関数ハンドルとしてコールバック プロパティを指定します。たとえば、次のものがあります。

uicontrol('Style'、'slider'、'Callback'、@obj.sliderCallback)

ここで、クラスは滑动回退と呼ばれるメソッドを定義し、objはクラスのインスタンスです。

静的メソッドをコールバックとして使用するには、コールバック プロパティを静的メソッドへの参照を必要とするクラス名が含まれる関数ハンドルとして指定します。

uicontrol('Style'、'slider'、'Callback'、@MyClass.sliderCallback)

メソッドのコールバックの構文

通常メソッドの場合は、ドット表記を使用して、コールバックを最初の引数として定義するクラスのインスタンスを渡します。

@obj.methodName

次の入力引数を使用してコールバック メソッドを定義します。

  • 最初の引数となる定義クラスのインスタンス

  • イベント ソース ハンドル

  • イベント データ

関数シグネチャは以下の形式になります。

函数方法名(obj、src、eventData)…结束

静的メソッドの場合は、必須のクラス名により MATLAB®が指定されたクラスのメソッドへ確実にディスパッチします。

@MyClass.methodName

2.つの入力引数、イベント ソース ハンドルとイベント データを使用して静的コールバック メソッドを定義します。

関数シグネチャは以下の形式になります。

函数方法名(src、eventData)

追加の引数の引き渡し

MATLABにより渡されるソースとイベント データ引数だけでなく、別の引数をコールバックに渡す場合は、無名関数を使用することができます。グラフィックス オブジェクトの回拨プロパティに無名関数を割り当てる基本的な構文において、最初の引数はオブジェクトです。

@(src,event)回调方法(object,src,eventData,arg1,…argn)

関数シグネチャは以下の形式になります。

函数方法名(obj、src、eventData、varargin)…结束

スライダー コールバックに対するクラス メソッドの使用

この例では、ユーザー クラスのメソッドを uicontrolスライダーのコールバックとして使用する方法を示します。

海平面滑块クラスでは、スライダーを作成し、指標付きのイメージの色範囲を変えて、海水面の変化を表します。

クラス定義

海平面滑块を以下のメンバーをもつハンドル クラスとして定義します。

  • このクラス プロパティは、图形と座標軸のハンドルおよび計算された色範囲を格納します。

  • クラス コンストラクターはグラフィックス オブジェクトを作成し、スライダー コールバックを割り当てます。

  • スライダーのコールバック関数は、3.つの必須の引数 (クラスのインスタンス、イベント ソースのハンドル、イベント データ) を受け取ります。イベント データ引数は空であり、使用されません。

  • uicontrolコールバックは、ドット表記を使用して…'Callback',@obj.sliderCallbackのようにコールバック メソッドを参照します。

classdef水平滑动手柄性质图形轴CLimit终止方法作用obj=海平面滑块(x,地图)obj.地物=地物(“彩色地图”地图...“位置”,[100,100,560,580],...“调整大小”,“关”); 对象轴=轴(“DataAspectRatio”,[1,1,1],...“XLimMode”,“手册”,“叶立明”,“手册”,...“家长”,对象图);图像(x,“CDATA映射”,“缩放”,...“家长”,obj.Axes);obj.CLimit=get(obj.Axes,“克莱姆”);uicontrol(“风格”,“滑块”,...“家长”,obj.Figure,...“马克斯”,obj.CLimit(2)-10,...“敏”,obj.CLimit(1)-1,...“价值”,obj.CLimit(1),...“单位”,“正常化”,...“位置”,[0.9286,0.1724,0.0357,0.6897],...“滑块步骤”,[0.003,0.005],...“回调”,@obj.sliderCallback);终止作用滑块回调(obj,src,~)minVal=get(src,“价值”);maxVal=obj.CLimit(2);obj.Axes.CLim=[minVal-maxVal];终止终止终止

海平面调节器クラスの使用

このクラスは、MATLAB製品に付属している海角イメージを使用しています。イメージ データを取得するには、负载コマンドを使用します。

负载海角X地图

データを読み込んだ後、そのイメージの海平面滑块オブジェクトを作成します。

slaObj=海平面滑块(X,地图);

スライダーを移動してカラー マッピングを変更し、海水面の上昇を可視化します。

関連するトピック