等待点击或按键

您所在的位置:网站首页 鼠标点击按键 等待点击或按键

等待点击或按键

2023-06-06 17:47| 来源: 网络整理| 查看: 265

本页翻译不是最新的。点击此处可查看最新英文版本。

waitforbuttonpress

等待点击或按键

全页折叠 语法w = waitforbuttonpress说明

示例

注意

在 App 设计工具和使用 uifigure 函数创建的 App 中,推荐使用 uiwait 并指定调用 uiresume 的 WindowButtonDownFcn 或 WindowKeyPressFcn 回调,而不推荐使用 waitforbuttonpress,因为这样可以更好地控制 App 行为。有关详细信息,请参阅替代功能。

w = waitforbuttonpress 用于阻止语句执行,直到用户点击了鼠标按键或在当前图窗中按下某个键。

返回参数 w 可以具有以下值:

0(如果检测到点击)

1(如果检测到按键动作)

当单独按下或作为组合键按下以下任何键时,waitforbuttonpress 函数不返回值:Ctrl、Shift、Alt、Caps Lock、Num Lock 或 Scroll Lock。

示例

全部折叠

按下按钮后创建坐标区

创建一个图窗并调用 waitforbuttonpress 函数。然后,创建坐标区并注意它们不会出现。

figure; w = waitforbuttonpress; axes;

点击图窗。现在,waitforbuttonpress 返回,执行继续,并显示坐标区。

提示

要确定按下的最后一个键、鼠标选择类型或当前图窗中鼠标指针的位置,请分别查询 Figure 属性 CurrentCharacter、SelectionType 和 CurrentPoint。

算法

使用 waitforbuttonpress 时要注意的一些重要内容:

如果为图窗了定义 WindowButtonDownFcn,则它在 waitforbuttonpress 返回值之前执行。

除非您的代码是调用 try/catch 块中的 waitforbuttonpress 函数,否则当用户通过点击窗口关闭按钮来关闭图窗时,waitforbuttonpress 函数会出错。

替代功能

在 App 设计工具和使用 uifigure 函数创建的 App 中,使用 uiwait 阻止语句执行。要在 App 用户点击鼠标按键或按下某个键时恢复程序执行,请指定调用 uiresume 的 WindowButtonDownFcn 或 WindowKeyPressFcn 回调。

例如,以下代码创建一个 UI 图窗,当用户在图窗窗口中点击时,该图窗将恢复程序执行。

fig = uifigure('WindowButtonDownFcn',@(src,event)uiresume(src));

调用 uiwait 以阻止程序执行,直到调用了 uiresume 或删除了图窗。创建一个 UIAxes 对象,并将图窗作为其父级。坐标区不出现。

uiwait(fig); ax = uiaxes(fig);

然后,点击图窗。程序继续执行,出现 UIAxes 对象。

版本历史记录在 R2006a 之前推出

全部展开

R2014b: waitforbuttonpress 是特定于图窗的

要在调用 waitforbuttonpress 函数后恢复程序执行,必须在当前图窗(而不是任何图窗)中点击或按键。引入这种行为更改是为了防止程序在非目标图窗中继续执行。在 R2014b 之前,waitforbuttonpress 会检测任何打开的图窗中的点击或按键事件。然后,执行流将在检测到事件的图窗中恢复。

另请参阅

uiwait | uiresume | dragrect | ginput | waitfor | figure



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3