1

我们知道如何对 Matlab 进行编程以在单击按钮时执行某些操作,即:

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

因此,只要按下和释放该按钮,就会调用放置在“回调”之后的代码或函数。(因此只有在释放按钮时才会调用处理程序)

但是,我希望能够在按下按钮但尚未释放时激活一些代码。我怎样才能做到这一点?

4

1 回答 1

-1

您必须为“ButtonDownFcn”属性使用回调函数。从这里:”

ButtonDownFcn

字符串或函数句柄(GUIDE 设置此属性)

按钮按下回调例程。当指针位于或靠近 uicontrol 时按下鼠标按钮时可以执行的回调例程。具体来说:

如果 uicontrol 的 Enable 属性设置为 on,当您在 uicontrol 周围 5 像素边框中单击鼠标右键或鼠标左键或单击控件本身上的鼠标右键时,将执行 ButtonDownFcn 回调。

如果 uicontrol 的 Enable 属性设置为非活动或关闭,当您在 5 像素边框或控件本身上单击鼠标右键或左键时,将执行 ButtonDownFcn。

这对于实现交互修改控件对象属性(例如大小和位置)的操作很有用(例如,使用 selectmoveresize)。

将此例程定义为一个字符串,该字符串是一个有效的 MATLAB 表达式或代码文件的名称。该表达式在 MATLAB 工作区中执行。

要在 GUIDE 中添加 ButtonDownFcn 回调,请从 Layout Editor View 菜单中选择 View Callbacks,然后选择 ButtonDownFcn。GUIDE 将此属性设置为适当的字符串,并在您下次保存 GUI 时将回调添加到代码文件。或者,您可以将此属性设置为字符串 %automatic。下次保存 GUI 时,GUIDE 会将此属性设置为适当的字符串并将回调添加到代码文件。

使用 Callback 属性来指定在您激活启用的 uicontrol(例如,单击按钮)时执行的回调例程。

于 2012-04-13T01:26:37.467 回答