ドキュメンテーション

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

mwsamp コントロールからのイベント メッセージの表示

この例では、MATLAB® の ActiveX® コントロール mwsamp2 によって起動されたイベントの処理方法を説明します。

イベント ハンドラー ルーチンの作成

イベント ハンドラー ファイルを作成し、パス上のフォルダーに保存します。

myclick.m ファイルを作成します。

function myclick(varargin)
disp('Single click function')

my2click.m ファイルを作成します。

function my2click(varargin)
disp('Double click function')

mymoused.m ファイルを作成します。

function mymoused(varargin)
disp('You have triggered the mouse down function')
disp('The X position is: ')
double(varargin{5})
disp('The Y position is: ')
double(varargin{6})

コントロールの作成とイベントの登録

Figure ウィンドウを開きます。

f = figure('position', [100 200 200 200]);

Click イベントと MouseDown イベントを登録します。

ctrl = actxcontrol('mwsamp.mwsampctrl.2',[0 0 200 200],f,...
    {'Click','myclick'; 'MouseDown','mymoused'});

コントロール イベントへの応答

MATLAB が mwsamp2 コントロールを作成すると、Figure ウィンドウの中心にラベルと円が表示されます。このウィンドウの他の位置をクリックすると、MATLAB コマンド ウィンドウにマウスの X および Y の位置のレポートが表示されます。

マウス ボタンをクリックするたびに、関数 mymoused を呼び出す MouseDown イベントが起動します。この関数は、そのイベントの位置の値をコマンド ウィンドウに出力します。以下に例を示します。

The X position is: 
ans = 
    [122]
The Y position is: 
ans = 
    [63]

Click イベントは myclick メッセージを表示します。

Single click function

DblClick イベントが登録されていないので、マウスをダブルクリックしても何も起こりません。

DblClick イベントの登録

registerevent(ctrl,{'DblClick','my2click'})

マウスをダブルクリックすると、MATLAB は myclickmy2click の両方のメッセージを表示します。

Single click function
Double click function

コントロール イベントの表示

DblClick イベントの登録を解除します。

unregisterevent(ctrl,{'DblClick','my2click'})

現在登録されているイベントを表示します。

eventlisteners(ctrl)
ans = 
    'click'        'myclick' 
    'mousedown'    'mymoused'

すべてのイベントの登録解除

unregisterallevents(ctrl)
eventlisteners(ctrl)
ans = 
     {}

アクティブ イベントがないので、コントロール ウィンドウ内でマウスをクリックしても何も変化しません。

Figure ウィンドウを閉じます。

参考

| | |

関連する例

詳細