1

ボタンがクリックされたときに何かを行うようにMatlabをプログラムする方法を知っています。これは次のとおりです。

    button= uicontrol('Style','pushbutton','String','click me',...
   'Position',[260 80 60 20],...
   'Callback','disp ('' The button is clicked'')');

そのため、「callback」の後に配置されたコードまたは関数は、そのボタンが押されて離されるたびに呼び出されます (したがって、ハンドラーはボタンを離したときにのみ呼び出されます)。

ただし、ボタンを押したままにしてまだ離していないときはいつでも、コードをアクティブにできるようにしたいと考えています。どうやってやるの?

4

1 に答える 1

-1

「ButtonDownFcn」プロパティにはコールバック関数を使用する必要があります。ここから:」

ButtonDownFcn

文字列または関数ハンドル(GUIDEがこのプロパティを設定します)

ボタンを押すコールバックルーチン。ポインタがuicontrol上またはその近くにあるときにマウスボタンを押すと実行できるコールバックルーチン。具体的には:

uicontrolのEnableプロパティがonに設定されている場合、ボタンダウンFcnコールバックは、uicontrolの周囲の5ピクセルの境界でマウスの右ボタンまたは左ボタンをクリックするか、コントロール自体のマウスの右ボタンをクリックすると実行されます。

uicontrolのEnableプロパティが非アクティブまたはオフに設定されている場合、5ピクセルの境界線またはコントロール自体でマウスの右ボタンまたは左ボタンをクリックすると、ButtonDownFcnが実行されます。

これは、クリックされたときに、サイズや位置などのコントロールオブジェクトのプロパティをインタラクティブに変更するアクションを実装する場合に役立ちます(たとえば、selectmoveresizeを使用)。

このルーチンを、有効なMATLAB式またはコードファイルの名前である文字列として定義します。式はMATLABワークスペースで実行されます。

GUIDEにButtonDownFcnコールバックを追加するには、[レイアウトエディターの表示]メニューから[コールバックの表示]を選択してから、[ButtonDownFcn]を選択します。GUIDEは、このプロパティを適切な文字列に設定し、次にGUIを保存するときにコールバックをコードファイルに追加します。または、このプロパティを文字列%automaticに設定することもできます。次にGUIを保存するときに、GUIDEはこのプロパティを適切な文字列に設定し、コールバックをコードファイルに追加します。

Callbackプロパティを使用して、有効なuicontrolをアクティブ化したときに実行されるコールバックルーチンを指定します(たとえば、プッシュボタンをクリックします)。

于 2012-04-13T01:26:37.467 に答える