ドキュメンテーション

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

COM イベント ハンドラー

イベント処理の概要

コントロールの場合、コントロールのインスタンスの作成時 (関数 actxcontrol を使用)、またはその後の任意の時点 (関数 registerevent を使用) でハンドラー関数を登録します。

サーバーの場合、registerevent を使用してイベントを登録します。

COM オブジェクトが認識するすべてのイベントをリストするには、関数 events を使用します。

イベント ハンドラーに渡される引数

次の表に示すように、登録されたイベントがトリガーされると、MATLAB® はイベントからハンドラー関数に情報を渡します。

MATLAB 関数によって渡される引数

引数の順番内容形式

1

オブジェクト名

MATLAB COM クラス

2

イベント ID

double

3

イベント引数リストの開始

コントロールによって渡されたとおり

end-2

イベント引数リストの終了 (引数 N)

コントロールによって渡されたとおり

end-1

イベント構造体

structure

end

イベント名

char array

イベント ハンドラー関数を書き込む場合はイベント名引数を使用してイベントのソースを指定します。イベント引数リスト (引数 3end-2) からのコントロールによって渡される引数を取得します。すべてのイベント ハンドラーは可変数の引数を受け取らなければなりません。

function event (varargin)
if (strcmp(varargin{end}, 'MouseDown'))  % Check the event name
    x_pos = varargin{5};              % Read 5th Event Argument
    y_pos = varargin{6};              % Read 6th Event Argument
end

メモ

渡される値は、使用される特定のイベントとコントロールにより異なります。

イベント構造体

MATLAB によって渡されるイベント構造体引数には、次の表に示されるフィールドが含まれています。

イベント構造体のフィールド

フィールド名説明形式

Type

イベント名

char array

Source

コントロール名

MATLAB COM クラス

EventID

イベント識別子

double

Event Arg Name 1

イベント引数値 1

コントロールによって渡されたとおり

Event Arg Name 2

イベント引数値 2

コントロールによって渡されたとおり

その他

イベント引数 N

コントロールによって渡されたとおり

たとえば、mwsamp2 コントロールの MouseDown イベントがトリガーされたときに、MATLAB はこのイベント構造体を登録されているイベント ハンドラーに渡します。

    Type: 'MouseDown'
  Source: [1x1 COM.mwsamp.mwsampctrl.2]
 EventID: -605
  Button: 1
   Shift: 0
       x: 27
       y: 24

参考

| |

関連する例

詳細