文档

图的属性

控制图窗口的外观和行为

数据图形或用户界面组件的容器。图属性控件的外观和行为的一个特定的实例图。一个图的修改方面,改变属性值。

从R2014b开始,您可以使用点符号来查询和设置属性。

无花果=图;u = fig.Units;fig.Units =“英寸”;

如果您使用的是较早的版本,使用得到函数来代替。

窗口出现

全部展开

图菜单栏显示,指定为“图”“没有”。的菜单条属性允许您显示或隐藏默认菜单图窗口的顶部。指定“图”显示菜单栏。指定“没有”隐藏它。

这个属性只影响默认的菜单,并且不影响菜单定义的uimenu命令。

菜单栏没有出现在人物的WindowStyle属性设置为“模态”。如果一个图包含uimenu孩子改变“模态”uimenu孩子仍然存在孩子们属性的图。然而,uimenus不显示WindowStyle被设置为“模态”

请注意

如果你不想显示默认的菜单在图中,然后设置该属性“没有”当您创建的人物。

图工具栏显示,指定为以下之一:

  • “汽车”——使用相同的值作为菜单条财产。

  • “图”-工具栏显示。

  • “没有”-工具栏不显示。

这个属性只影响默认工具栏。它不影响等其他工具栏,相机编辑工具栏工具栏或阴谋。选择图工具栏从图视图菜单设置这个属性“图”

工具栏没有出现在人物的WindowStyle属性设置为“模态”。是否更改为一个图,其中包含一个工具栏“模态”工具栏孩子仍然存在孩子们属性的图。然而,工具栏不显示WindowStyle被设置为“模态”

请注意

如果你想隐藏的默认工具栏,然后设置该属性“没有”当您创建的人物。

交互图对接,指定为以下之一:

  • “上”——图可以停靠在MATLAB®桌面。的桌面>码头图菜单项和码头图按钮菜单栏中启用。

  • “关闭”——MATLAB禁用桌面>码头图菜单项和不显示图码头按钮。

    你不能设置DockControls财产“关闭”如果WindowStyle被设置为“停靠”

背景颜色、指定为一个RGB值或颜色表中列出的选项之一。如果您指定“没有”背景颜色出现黑色屏幕上,但是如果你打印图,背景图窗口打印好像是透明的。

为一个自定义颜色,指定一个RGB值。一个RGB值三元素行向量的元素指定强度的红色,绿色和蓝色的组件的颜色。强度必须在范围内[0,1];例如,(0.4 0.6 0.7)。或者,您可以指定一些常见颜色的名字。此表列出了长时间运行和短颜色名称选项和等价的RGB值的值。

选项 描述 等价的RGB值
“红色”“r” 红色的 (1 0 0)
“绿色”‘g’ 绿色 (0 1 0)
“蓝”“b” 蓝色的 (0 0 1)
“黄色”“y” 黄色的 (1 1 0)
“红色”“米” 品红色的 (1 0 1)
“青色”“c” 青色 (0 1 1)
“白色”' w ' 白色的 (1 1 1)
“黑”“k” 黑色的 (0 0 0)
“没有” 没有颜色 不适用

数据类型:|字符

窗口风格,指定为以下之一:

  • “正常”——图窗口是独立于其他窗口,和其他窗口可数字显示。

  • “模态”——图显示所有现有的图窗口,使他们无法访问,只要上面图存在,是模态。然而,任何新创建的数据后将显示一个模态图。

    当多个模态窗口存在,最近创建的窗口保持专注和高于其他所有窗口直到它变成无形的,还是回到一个正常的窗口风格,或被删除。当时,焦点返回到上一次焦点的窗口。

  • “停靠”——图显示在桌面或一个文档窗口。当WindowStyle属性设置为“停靠”,你不能设置DockControls财产“关闭”

请注意

这些都是一些重要的特征WindowStyle房地产和一些推荐的最佳实践:

  • 当您创建UI的窗户,总是指定WindowStyle财产。如果你也想设置调整,位置,或OuterPosition属性的图,然后设置WindowStyle财产。

  • 你可以改变WindowStyle属性图的任何时候,包括当图是可见的和包含的孩子。然而在一些系统中,设置这个属性可能会导致flash或消失和再现,这取决于系统的正常和模态窗口的实现。最佳视觉效果,设置WindowStyle属性在创建的时候或者当图是无形的。

  • 调用重置在图的值不会改变WindowStyle财产。

模态窗口风格的行为

WindowStyle被设置为“模态”所有键盘和鼠标操作,图窗口陷阱对所有MATLAB windows只要是可见的。Windows属于除了MATLAB应用程序不受影响。

打字Ctrl + C当一个模态图集中使这一数字回复“正常”WindowStyle属性设置。这允许用户在命令行类型。

数据与WindowStyle属性设置为“模态”可见属性设置为“关闭”不直到MATLAB使他们可见的表现形式。因此,您可以隐藏一个模态窗口后重用,而不是摧毁它。

模态数据不显示菜单的孩子,内置菜单或工具栏。但是,它不是一个错误创建菜单在模态图或改变WindowStyle属性设置为“模态”图和菜单的孩子。的菜单对象存在,图保留它们。如果你图的重置WindowStyle财产“正常”菜单显示。

窗口状态,指定这些值之一:

  • “正常”——窗口显示在一个正常的状态。

  • “最小化”——窗口崩溃,但你仍然可以执行命令来获取或设置它的属性,增加孩子,或在窗口中创建的阴谋。

  • “最大化”- - - - - -窗口填满屏幕。恢复,最小化和关闭按钮操作系统提供的出现在窗口的角落。如果窗口菜单和工具栏在正常状态,他们在这种状态存在。

  • “全屏”- - - - - -窗口填满屏幕。然而,最小化、还原和关闭按钮操作系统提供的是隐藏的。如果窗口菜单和工具栏在正常状态,他们在这种状态存在。

点击最小化、最大化或恢复按钮操作系统提供的设置WindowState相应的属性。紧迫的Ctrl +季(Windows®和Linux®)或Ctrl + f +命令(Mac OS)切换“全屏”状态。设置这个属性在图或停靠MATLAB在线™不支持。金宝app

位置

全部展开

在绘图区域的位置和大小,指定为一个向量的形式(左底宽高)。这方面排除了图边界、标题栏、菜单栏和工具栏。

此表描述中的每个元素位置向量。

元素 描述
左边缘的距离主显示窗口的内心的左边缘。这个值可以是负的有多个监控的系统。

如果这个数字是停靠,那么这个值是相对于在MATLAB桌面图面板。
距离底部边缘的主显示窗口的内底边缘。这个值可以是负的有多个监控的系统。

如果这个数字是停靠,那么这个值是相对于在MATLAB桌面图面板。
宽度 距离图的左、右内边。
高度 顶部和底部之间的距离内边缘的窗口。

所有测量单位指定的单位财产。

你不能指定图位置属性图时停靠。

将完整的窗口,包括边界,标题栏,菜单栏,工具栏,使用OuterPosition财产。

请注意

Windows操作系统执行最小的窗口宽度和最大窗口大小。如果你指定一个图大小以外的这些限制,显示的数字将符合限制而不是指定的大小。

度量单位,从这个表指定为一个值。

单位价值 描述
“像素”(默认)

像素。

从R2015b开始,距离的像素是独立系统在Windows和决议麦金塔电脑系统:

  • 在Windows系统中,一个像素是1/96th英寸。

  • 麦金塔电脑系统中,一个像素是1/72nd英寸。

在Linux系统中,一个像素的大小取决于您的系统分辨率。

“归一化” 这些单位规范化对父容器。左下角的容器映射到(0,0)和右上角的地图(1,1)
“英寸” 英寸。
“厘米” 厘米。
“点” 点。一个点= 1/72nd英寸。
“角色”

这些单位都是基于图形的默认uicontrol字体根对象:

  • 字符宽度=字母的宽度x

  • 字符高度=基线两行文字之间的距离。

访问默认uicontrol字体,使用get(大的,“defaultuicontrolFontName”)集(大的,“defaultuicontrolFontName”)

MATLAB措施所有单位左下角的父对象。

这个属性会影响位置财产。如果你改变单位财产,考虑返回其值默认值完成计算后,以避免影响其他函数,假定默认值。

您指定的顺序单位位置属性有这些效果:

  • 如果你指定单位之前位置属性,然后MATLAB集位置使用你指定的单位。

  • 如果你指定单位财产后位置财产,MATLAB使用默认的设置位置单位。然后,MATLAB转换位置在您所指定的单位价值等值。

在绘图区域的位置和大小,指定为一个向量的形式(左底宽高)。这方面排除了图边界、标题栏、菜单栏和工具栏。所有测量单位指定的单位财产。

这个属性值是相同的位置属性值。

外边界的位置和大小,指定为一个向量的形式(左底宽高)。该属性定义了图的外边界包围的区域(包括边界、标题栏、菜单栏、工具栏)。

此表描述向量中每个元素。

元素 描述
左边缘的距离的主要展示图窗口的左边缘。这个值可以是负的有多个监控的系统。

如果这个数字是停靠,那么这个值是相对于在MATLAB桌面图面板。
距离底部边缘的主要显示的外底边缘图窗口。这个值可以是负的有多个监控的系统。

如果这个数字是停靠,那么这个值是相对于在MATLAB桌面图面板。
宽度 左右的外边缘之间的距离图。
高度 顶部和底部之间的距离外的边缘人物。

所有测量单位指定的单位财产。

你不能指定图OuterPosition属性图时停靠。

请注意

Windows操作系统执行最小的窗口宽度和最大窗口大小。如果你指定一个图大小以外的这些限制,显示的数字将符合限制而不是指定的大小。

这个属性对数据没有影响。

窗口大小调整模式,指定为:

  • “上”——用户可以调整图窗口。

  • “关闭”——用户无法调整图窗口。图窗口不显示任何调整控制。

策划

全部展开

彩色地图轴图的内容,指定为一个——- - - - - -3数组的RGB(红、绿、蓝)定义的三胞胎个人色彩。

例子:图(“Colormap”, [1 0 1;0 0 1;1 1 0)设置颜色映射到三种颜色:红色,蓝色,黄色。

MATLAB访问这些颜色的行号。

彩色地图创建的对象的影响呈现表面,图像,补丁功能,但一般不会影响其他图形对象。

当你设置Colormap属性的图,那么轴和图表图中使用相同的colormap。

透明地图有限的内容,指定为数组α值线性进步01。数组的大小可以m×1或1-by-m。MATLAB访问α值数组中的索引。Alphamaps可以是任何长度。

Alphamaps影响呈现的创建的对象表面,图像,补丁功能,但不影响其他图形对象。

当你设置Alphamap属性的图,那么轴和图表图中使用相同的α地图。

如何添加下一个情节,指令指定为“添加”,“新”,“替换”,或“replacechildren”

此表描述了每个值的影响。

属性值 效果
“新”

创建一个新的图,并使用它作为当前的图。

“添加”

添加新图形对象没有清算或重置当前图。

“replacechildren”

删除所有轴对象不是隐藏在添加新对象。不重置图属性。

相当于使用clf命令。

“替换”

删除所有轴对象和图属性重置为其默认值之前添加新的图形对象。

相当于使用clf重置命令。

考虑使用newplot函数来处理NextPlot财产。有关更多信息,请参见坐标轴NextPlot财产和准备数据和轴的图表

渲染方法用于屏幕显示和打印,指定这些值之一:

  • opengl的——OpenGL®渲染器。这个选项允许MATLAB访问图形硬件是否可以在您的系统上。OpenGL渲染器显示对象排序在前面订单,在监视器上。线总是画的脸在相同的位置在飞机上的监视器。

  • “画家”——画家渲染器。这个选项适用于轴在二维视图。在二维中,画家渲染器类型图形对象的子订单(订单指定)。在3 d中,画家渲染器类型对象前恢复秩序。然而,它可能不会正确地绘制3 d相交的多边形。

请注意

“zbuffer”选项已被删除。使用opengl的“画家”代替。

OpenGL硬件和软件实现

OpenGL可用在所有运行的计算机MATLAB因为OpenGL的软件版本是建在MATLAB。然而,如果你有图形硬件支持硬件加速版的OpenGL,然后MATLAB自动使用硬件加速版本金宝app来提高性能。

在某些情况下,自动使用软件MATLAB OpenGL即使硬件版本是可用的。例如,使用MATLAB软件版本与已知的驱动程序问题或如果它检测到图形硬件检测到您正在使用一个虚拟机或在Windows远程桌面。

MATLAB问题警告如果不能找到一个可用的OpenGL库。

软件OpenGL选择

从硬件到软件OpenGL开关,做到以下几点:

  • 在Linux系统上,开始MATLAB命令matlab -softwareopengl

  • 在Windows系统中,执行命令opengl的软件在MATLAB或开始MATLAB命令matlab -softwareopengl

  • 不支持在Macintosh系统中,软件OpenGL。金宝app

以下软件版本是可用的:

  • 在Linux系统上,MATLAB使用OpenGL的软件实现,包括在MATLAB分布。

  • 在Windows上,OpenGL作为操作系统的一部分。如果你体验OpenGL的问题,请联系您的显卡驱动供应商获取最新的OpenGL的合格的版本。

  • 麦金塔电脑系统、软件OpenGL是不可用的。

确定OpenGL库版本

确定的版本和供应商OpenGL库,MATLAB是使用在您的系统上,在MATLAB提示符下输入以下命令:

opengl信息

返回的信息包含一个线,表明如果使用MATLAB软件OpenGL (软件= true)或硬件加速OpenGL (软件= false)。

该命令还返回一个列表的扩展可用的OpenGL规范与MATLAB使用特定的库。包括这些信息如果你报告一个错误。

请注意,发行的opengl的信息命令使MATLAB OpenGL进行初始化。

XServer连接丢失

使用Linux时,如果有一个连接到XServer打破,MATLAB可以分割违反。如果发生这种情况,确保最新的XServer安装系统。

在Linux系统上,你也可以试着开始升级OpenGL司机或MATLAB软件OpenGL使用这个命令:

matlab-softwareopengl

渲染器的选择,指定为:

  • “汽车”——MATLAB选择印刷和屏幕显示的渲染方法基于图形的大小和复杂性图中的对象。

  • “手动”——MATLAB使用与指定的渲染器渲染器财产。

MATLAB设置RendererMode财产“手动”如果您显式地设置渲染器财产“画家”opengl的

轴图像平滑,指定为“上”“关闭”。平滑减少锯齿状的线在一个轴的图形的外观。MATLAB平滑技术适用于一个轴平面和轴统治者GraphicsSmoothing被设置为“上”,这两个条件是正确的:

  • 渲染器属性设置为“画家”

  • 渲染器属性设置为opengl的和你的硬件卡支持OpenGL。金宝app

如果你的斧子图形包含主要是垂直或水平,考虑设置GraphicsSmoothing财产“上”行或行AlignVertexCenters财产“上”。平滑技术牺牲一些平滑锐利,这可能是特别明显的在这样的图形。

请注意

对文本图像平滑没有影响。MATLAB抚平文本的价值无关GraphicsSmoothing财产。

打印和导出

全部展开

图的大小和位置页打印或保存时,指定为研制出向量的形式(左底宽高)

  • 价值观——控制页面的左下角的距离图的左下角。忽略这些值在保存nonpage格式的图,如PNG或EPS格式。

  • 宽度高度值,控制图的大小。如果宽度和高度值太大,那么这个数字可能达不到指定的大小。如果图没有达到特定的大小,那么任何UI组件图,如uicontrol还是场上,可能不会保存或打印。

PaperUnits属性决定的度量单位PaperPosition值。考虑设置PaperUnits财产“归一化”。这个设置使MATLAB自动尺寸图占据相同的相对数量的打印页面,页面的大小无关。

例子:图(“PaperPosition”, [。25或25 8 6])为印刷图的大小和位置(。25 .25 8 6]

指令使用显示的图大小打印或保存时,指定为“汽车”“手动”

  • “汽车”——打印或保存图大小匹配显示图的大小。的宽度高度的值PaperPosition财产平等的图大小显示。的值中心人物。显示,如果图大小变化PaperPosition属性自动更新到适当的大小和位置值。

  • “手动”——打印或保存图显示的图尺寸大小可能不匹配。使用这个选项如果你想打印或保存图使用一个不同于显示的大小,或者如果你不希望图集中在打印或保存的页面。设置PaperPosition财产所需的大小和位置。显示,如果图大小变化PaperPosition属性不会自动更新。

生成的输出具有相同的尺寸和分辨率(DPI)作为展示图,设置PaperPositionMode属性的图“汽车”并保存图使用打印r0选择。的r0选项确保输出分辨率是一样的显示分辨率。如果分辨率不同,那金宝搏官方网站么生成的输出大小匹配显示的图大小测量单位(英寸,厘米,点),但不是以像素为单位。例如,如果显示分辨率为100 DPI,然后4 * 5英寸数字是400 - 500像素。如果输出分辨率为200 DPI,然后打印或保存的图都是一样的尺寸以英寸,但800 - 1000像素。

请注意

从R2016a,默认值是“汽车”。此前,默认值“手动”

改变默认值,使用这些技术之一。

  • 设置一个打印首选项。打印首选项持续在MATLAB会话。你可以设置打印首选项“汽车”“手动”,例如:

    matlab.graphics.internal.setPrintPreferences (“DefaultPaperPositionMode”,“手动”)
    查询当前打印首选项的值,使用下面的命令。如果您设置一个参数,返回的命令“汽车”“手动”。如果你没有设置偏好,命令返回“设置”
    matlab.graphics.internal.getPrintPreferences

  • 根对象上设置默认值。此选项只影响新数据在当前MATLAB会话,例如:

    集(大的,“defaultFigurePaperPositionMode”,“手动”)

自定义页面大小当印刷图或保存到一个分页的格式(PDF和PostScript®格式),指定为一个双元素向量的形式(宽高)。在美国,默认值是8.5 [11]。在欧洲和亚洲,默认值是29.7 [21]

请注意

如果你是将图保存到一个文件,PaperSize属性仅影响PDF和PostScript文件格式。其他文件格式忽略该属性。使用PaperPosition属性来控制保存图的大小。

PaperUnits属性决定了测量的单位PaperSize财产。你不能设置PaperSize财产,如果PaperUnits属性设置为“归一化”。试图这么做会导致错误。

指定PaperSize属性集PaperType属性对应的类型,如果存在,或“自定义”否则。

单位用于PaperSizePaperPosition,指定这些值之一:

  • “英寸”在英寸——价值。这是默认语言环境时美国。

  • “归一化”-归一化单位。页面左下角的地图(0,0)和右上角的地图(1,1)

  • “厘米”在厘米——价值。这是默认的地区是欧洲或亚洲。

  • “点”——价值点。一个点= 1/72英寸。

请注意

如果你改变的价值PaperUnits属性,是一种很好的做法返回属性的初始值完成计算后,以免影响其他函数,假设PaperUnits属性没有改变。

定位页面当印刷图或保存到一个分页的格式(PDF和PostScript格式),指定这些值之一:

  • “画像”——东方最长的页面垂直维度。

  • “景观”——东方最长的页面维度水平。

看到东方函数的更多信息。

标准页面大小当图或保存到一个分页打印格式(PDF和PostScript格式),指定为这个表中的值之一。指定PaperType属性集PaperSize属性对应的页面大小。

价值

页面大小(宽度x高度)

“usletter”

我们8.5 11(默认)

“uslegal”

8.5 14

“小报”

11 x17在

“a0”

84.1 - 118.9厘米

“a1”

59.4 - 84.1厘米

“a2”

42 - - 59.4厘米

“a3”

29.7 - 42厘米

“a4”

21 - - 29.7厘米(默认在欧洲和亚洲)

的a5

14.8 - 21厘米

“b0”

102.9 - 145.6厘米

“b1

72.8 - 102.8厘米

“b2”

51.4 - 72.8厘米

“单位”

36.4 - 51.4厘米

“b4”

25.7 - 36.4厘米

“b5”

18.2 - 25.7厘米

“弓”

9乘12中

“arch-b”

12乘18在

“耳语”

18-by-24在

“arch-d”

24-by-36在

“arch-e”

36-by-48在

“一个”

8.5 11

“b”

11 x17在

“c”

17-by-22在

' d '

22-by-34在

“e”

34-by-43在

“自定义”

自定义页面大小。指定一个非标准的页面大小使用PaperSize属性集PaperPosition这个值。

图背景颜色保存或打印时,指定这些值之一:

  • “上”——改变背景图和轴背景颜色为白色。

  • “关闭”——使用相同的颜色的颜色显示。更改图背景颜色显示,使用颜色属性的图。改变轴背景颜色,使用颜色财产的轴。

鼠标指针

全部展开

指针标志,指定的名字在下表中或象征“自定义”。符号的外观是依赖于操作系统的。

符号名称

产生的符号(系统依赖)

“箭头”

“工字钢”

“十字”

“看”(繁忙的系统)

“topl”“botr”

“topr”“botl”

“圆”

“十字”

“芙蓉”

“左”“对”

“高级”“底”

“手”

请注意

“fullcrosshair”选择在R2014b移除。

自定义指针符号

要创建一个自定义指针符号,设置指针财产“自定义”并使用PointerShapeCData属性定义符号。看到PointerShapeCData属性的更多信息。

自定义指针标志,指定为一个32——- - - - - -32矩阵(32-by-32像素指针)或作为16——- - - - - -16矩阵(16 x16像素指针)。图使用这个指针当你设定的象征指针财产“自定义”

矩阵中的每个元素定义了1像素的亮度水平的指针。元素(1,1)矩阵的对应像素在左上角的指针。设置矩阵元素这些值之一:

  • 1——黑色像素。

  • 2——白色像素。

  • ——透明像素,这样潜在的屏幕显示。

有源像素的指针,指定为一个双元素向量。向量包含行和列索引的特定元素PointerShapeCData像素矩阵对应于所需的活跃。的默认值[1]对应的像素在左上角的指针。

如果你指定一个值的范围之外PointerShapeCData矩阵,然后使用默认的活跃的像素的指针[1]代替。

这个属性只适用于当指针属性设置为“自定义”

交互性

全部展开

目标在当前图轴,指定为一个对象,PolarAxes对象,或图形对象等HeatmapChart

在所有轴的孩子存在的数字,总有电流轴。当前轴不需要最上面的轴,并设定一个轴是当前轴不操控它高于其他所有轴。如果图中不包含轴,得到(gcf CurrentAxes)命令返回一个空数组。

查询CurrentAxes属性获取当前轴对象没有强迫的创建一个轴,如果不存在。

最近选定的组件图中,指定为一个对象。MATLAB设置CurrentObject房地产用户点击最后一个对象。这个对象front-most对象在视图中。您可以使用这个属性来确定哪些对象用户选中。

一个对象的HitTest该对象是否能成为属性控制CurrentObject

点击一个物体的HandleVisibility属性是(如轴标签和标题)引起的CurrentObject属性被设置为空。为了避免返回一个空值,当用户点击一个隐藏的对象,集HitTest隐藏对象的属性“关闭”

移动光标在对象不更新CurrentObject。用户必须点击对象更新这个属性。看到CurrentPoint属性的相关信息。

如果你正在寻找一个快速的方法来访问当前对象,考虑使用gco命令。

鼠标指针的位置,作为一个双元素向量返回。的CurrentPoint属性包含坐标(x,y鼠标指针),测量图(在左下角的单位决定的单位属性)。

坐标显示最后一个鼠标点击的位置,除非有一个WindowButtonMotionFcn回调为图定义。如果WindowButtonMotionFcn定义回调,那么坐标显示鼠标指针的位置。

请注意

如果你使用返回的值CurrentPoint属性,绘制点坐标值可能包含舍入误差。

CurrentPoint和光标运动

MATLAB的更新CurrentPoint在执行之前定义的回调函数图WindowButtonMotionFcnWindowButtonUpFcn属性。这使您可以查询CurrentPoint从这些回调函数。它的行为是这样的:

  • 如果你定义一个回调函数WindowButtonMotionFcn财产或WindowButtonUpFcn属性,然后用MATLAB更新CurrentPoint属性中只有当用户按下鼠标按钮图窗口。

  • 如果你定义一个回调函数WindowButtonMotionFcn属性,然后用MATLAB更新CurrentPoint财产之前执行的回调函数。的WindowButtonMotionFcn图窗口属性只在执行,除非在图和用户按下鼠标按钮使鼠标按钮而指针在屏幕上移动。在这种情况下,函数执行(和MATLAB更新CurrentPoint属性)在屏幕上的任何地方,直到用户释放鼠标按钮。

  • 如果你定义一个回调函数WindowButtonUpFcn属性,然后用MATLAB更新CurrentPoint财产之前执行的回调函数。的WindowButtonUpFcn回调执行只图窗口内的指针时,除非在窗口,用户按下鼠标按钮释放鼠标按钮屏幕上的任何地方。在这种情况下,函数执行时,之前的一个更新CurrentPoint属性值。

  • 如果你添加一个uicontrol或者场上组件图,然后用MATLAB更新CurrentPoint财产当用户右键单击组件时,或当他们时,鼠标左键单击组件启用属性的组件“关闭”“不活跃”

在某些情况下(例如当WindowButtonMotionFcn回调需要很长时间来执行和用户移动非常迅速的指针),CurrentPoint属性可能不反映实际位置的指针,而是位置时WindowButtonMotionFcn回调函数开始执行。

PointerLocation属性包含的位置指针与指针运动同步更新。然而,测量位置的屏幕,不是图窗口。

图中最后一个键按下,作为一个角色返回。使用CurrentCharacter属性来获取用户输入。

请注意

的行为选择在R2014b属性改变了,不推荐它。它不再有任何影响对象。这个属性可能会在将来的版本中被删除。

请注意

的使用SelectionHighlight属性不推荐。这个属性可能会在将来的版本中被删除。

这个属性对数据没有影响。

鼠标选择类型,返回“正常”,“扩展”,“alt”,或“开放”。MATLAB维护这个属性提供的信息最后一个鼠标按钮按图窗口内发生。这个信息显示的类型选择。选择类型的行动MATLAB一般同事特别反应从用户界面软件(例如,单击一个图形对象的地方在移动或调整模式;双击文件名打开它,等等)。

这个属性的值取决于类型的鼠标点击和用户的操作系统。

选择类型

微软®窗户

Linux

Mac

“正常”

单击鼠标左键。

单击鼠标左键。

单击鼠标左键。

“扩展”

下面的:

  • 转变单击鼠标左键。

  • 点击左和右鼠标按钮。

下面的:

  • 转变单击鼠标左键。

  • 单击鼠标中键。

任何下列之一:

  • 转变单击鼠标左键。

  • 单击鼠标中键。

  • 点击左和右鼠标按钮。

“alt”

控制点击鼠标左键或单击鼠标右键。

控制点击鼠标左键或单击鼠标右键。

控制点击鼠标左键或单击鼠标右键。

“开放”

双击鼠标按钮。

双击鼠标按钮。

双击鼠标按钮。

请注意

一个列表框(uicontrol),第二次点击的双击设置SelectionType财产“开放”

指定为一个上下文菜单快捷菜单对象。使用这个属性来显示一个上下文菜单当用户右击UI组件。创建上下文菜单中使用uicontextmenu函数。

图可见,指定为“上”“关闭”。的可见属性确定图显示在屏幕上。如果可见属性图的设置“关闭”整个图是无形的,但是你仍然可以指定并访问其属性。

改变大小的一个看不见的图触发SizeChangedFcn回调时图变得可见。

请注意

改变了可见属性图改变可见属性的子组件,即使隐藏图阻止其孩子显示。

常见的回调

全部展开

按钮按下的回调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个回调执行当用户单击鼠标按钮时,指针在图窗口中,但不是在一个孩子对象等UIControl,面板,,或的孩子。

看到图的SelectionType属性来决定是否还敦促修饰键。

组件创建函数,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个属性指定一个回调函数执行时MATLAB创建组件。MATLAB之前执行初始化所有组件属性值CreateFcn回调。如果你不指定CreateFcn属性,然后MATLAB执行默认创建函数。

使用gcbo函数在你CreateFcn代码的组件被创建的对象。

设置CreateFcn属性在一个现有的组件对象没有影响。

组件删除函数,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

DeleteFcn属性指定一个回调函数执行时MATLAB删除组件(例如,当用户关闭窗口)。MATLAB执行DeleteFcn回调之前摧毁组件对象的属性。如果你不指定DeleteFcn属性,然后MATLAB默认执行删除功能。

使用gcbo函数在你DeleteFcn代码的组件对象删除。

键盘回调

全部展开

按键回调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

例子:图(KeyPressFcn, @myfun)将按键指定回调函数作为处理函数。

例子:图(KeyPressFcn, {@myfun x})将按键回调函数指定为一个细胞数组。在这种情况下,该函数接受输入参数,x

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个回调函数执行时图窗口焦点和用户按下一个键。如果你不为这个属性定义一个函数,MATLAB通过按键命令窗口。重复按键保留的焦点人物,每个按键和功能执行。如果用户按下多个键大约在同一时间,MATLAB检测键按最后一键按下。

如果指定这个属性作为处理函数(或单元阵列包含一个函数处理),MATLAB传递一个对象包含回调数据回调函数的第二个参数。这个对象包含下表中描述的属性。您可以访问这些属性在回调函数使用点符号。

财产

内容

字符

字符显示的结果按下键或钥匙。这个角色可以是空的或者猥亵的。

修饰符

一个单元阵列,其中包含一个或多个修饰符的名字键被按下(例如,控制,alt,转变)。在麦金塔电脑电脑,细胞数组中包含了“命令”命令修改键被按下。

关键

键被按下,(小写)标签识别的关键,或者一个描述性的词。

关注的对象,当用户按下键。
Eventname 导致回调函数执行的行动。

紧迫的修饰键影响回调数据在以下方面:

  • 修改键会影响字符属性,但不改变关键财产。

  • 某些键和键修改Ctrl,把不能打印的字符字符财产。

  • Ctrl,Alt,转变和其他几个键,不生成字符属性数据。

你也可以查询CurrentCharacter属性图,以确定哪些字符的用户。

释放回调,指定为一个值

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

例子:图(KeyReleaseFcn, @myfun)指定键释放回调函数作为处理函数。

例子:图(KeyReleaseFcn, {@myfun x})指定键释放回调函数作为单元阵列。在这种情况下,该函数接受输入参数,x

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个回调函数执行时图对象有重点和用户发布一个关键。

请注意

这个回调的触发行为取决于您的操作系统如何回应键释放事件。

如果指定这个属性作为处理函数(或单元阵列包含一个函数处理),MATLAB传递一个对象包含回调数据回调函数的第二个参数。这个对象包含下表中描述的属性。您可以访问这些属性在回调函数使用点符号。

财产

描述

例子:

一个

=

转变

将一个

字符

字符的解释被释放的关键。

“一个”

“=”

“一个”

修饰符

当前的修饰语,如“控制”,或一个空单元数组如果没有修饰符

{1 x0细胞}

{1 x0细胞}

{“转变”}

{“转变”}

关键

关键被释放,(小写)标签识别的关键,或者一个描述性的词。

“一个”

“平等”

“转变”

“一个”

关注的对象,当用户按下键。
Eventname 导致回调函数执行的行动。 “KeyRelease” “KeyRelease” “KeyRelease” “KeyRelease”

紧迫的修饰键影响回调数据在以下方面:

  • 修改键会影响字符属性,但不改变关键财产。

  • 某些键和键修改Ctrl,把不能打印的字符字符财产。

  • Ctrl,Alt,转变和其他几个键,不生成字符属性数据。

你也可以查询CurrentCharacter属性图,以确定哪些字符的用户。

窗口回调

全部展开

关闭请求回调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个回调执行当一个用户试图关闭窗口。例如,你可以显示一个对话框让用户确认或取消操作或接近防止用户关闭图包含一个UI。

的基本机制是:

  1. 用户问题关闭关闭所有命令从命令行,关闭电脑窗口管理器菜单的图,或关闭退出MATLAB的图。

  2. 关闭操作执行定义的函数图CloseRequestFcn财产。默认的函数是closereq

    closereq函数无条件删除当前图,摧毁了窗口。的closereq函数利用这一事实关闭命令会使每个图指定为一个参数当前图之前调用各自的关闭请求函数。

closereq函数的荣誉ShowHiddenHandles属性设置图中删除,不删除隐藏的数据。

除非关闭请求函数调用删除关闭函数,MATLAB从未关闭图。(你可以叫删除(f)如果您已经创建了一个从命令行窗口与无损关闭请求功能。)

例子:代码CloseRequestFcn显示对话框

这个例子展示了如何代码关闭请求函数显示一个对话框询问用户问题确认关闭操作。将代码保存到一个可写的文件夹在您的系统上。

函数callbackdata my_closereq (src)%关闭请求函数%显示一个对话框的问题选择= questdlg (“关闭这个图?”,“关闭请求函数”,“是的”,“不”,“是的”);开关选择,情况下“是的”、删除(gcf)情况下“不”返回结束结束

现在,创建一个图说明my_closereqCloseRequestFcn:

图(“CloseRequestFcn”@my_closereq)

关闭图窗口和对话框的问题。

大小改变了回调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

定义这个回调定制应用程序布局这个容器的大小改变时(例如,当用户调整窗口的大小)。

SizeChangedFcn回调执行时间:

  • 这个容器变成可见的第一次。

  • 这个容器是可见的,它的大小变化。

  • 容器可以第一次后尺寸变化。这种情况发生在规模变化而容器是无形的,然后就变得可见。

其他重要定义时需要考虑的几点因素SizeChangedFcn回调函数:

  • 考虑推迟这个集装箱的显示之前的所有变量SizeChangedFcn使用定义。这种做法可以避免SizeChangedFcn回调返回一个错误。推迟的显示容器,设置它可见财产“关闭”。然后,设置可见财产“上”在您定义的变量SizeChangedFcn回调使用。

  • 如果您的应用程序包含嵌套容器,他们从内而外的调整。

  • 来访问容器,从内部调整SizeChangedFcn,请参考源对象(第一个输入参数的回调)或使用gcbo函数。

提示

指定的一个简单的替代SizeChangedFcn回调,你可以设置单位财产的所有对象放到一个容器“归一化”。这么做会让这些组件与容器缩放比例。

例如:编辑字段在恒定的高度

使用SizeChangedFcn回调约束UI组件的大小。例如,下面的代码创建一个UI的一个编辑框顶部的窗口。随着用户调整窗口的大小条形函数限制其高度20像素。函数还设置编辑字段的宽度图的宽度。

如果您使用的是R2014b或后,使用点符号设置和查询属性:

函数myui f =图(“可见”,“关闭”,“SizeChangedFcn”,@sbar);u = uicontrol (“风格”,“编辑”,“标签”,“状态栏”);f。可见=“上”;函数callbackdata条形(src) old_units = src.Units;src。单位=“像素”;sbar_units = u.Units;u。单位=“像素”;fpo = src.Position;好的= [1 fpo (4) - 20 fpo (3) 20);u。位置=好的;u。单位= sbar_units;src。单位= old_units;u。Visible =“上”;结束结束

如果您使用的是R2014a或更早的版本,使用这段代码。

函数myui f =图(“可见”,“关闭”,“SizeChangedFcn”,@sbar);u = uicontrol (“风格”,“编辑”,“标签”,“状态栏”);集(f,“可见”,“上”);函数callbackdata条形(src) old_units =得到(src,“单位”);集(src,“单位”,“像素”);sbar_units =得到(u,“单位”);集(u,“单位”,“像素”);fpo =得到(src,“位置”);好的= [1 fpo (4) - 20 fpo (3) 20);集(u,“位置”,好的);集(u,“单位”,sbar_units);集(src,“单位”,old_units);集(u,“可见”,“上”);结束结束

数据类型:function_handle|细胞|字符

窗口按钮回调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

例子:图(WindowButtonDownFcn, @myfun)将按钮按下指定回调函数作为处理函数。

例子:图(WindowButtonDownFcn, {@myfun x})将按钮按下指定回调函数作为单元阵列。在这种情况下,该函数接受输入参数,x

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个回调执行之前所有其他ButtonDownFcn图中的回调。

请注意

当使用双扣或扣鼠标麦金塔电脑系统,右按钮和按钮按下并不总是报道。发生这种情况只有当一个新的图窗口下鼠标光标,用户单击鼠标没有第一个移动鼠标。在这种情况下,WindowButtonDownFcn调工作,用户需要做以下之一:

  • 移动鼠标后创建了图,然后点击鼠标按钮。

  • 新闻转变Ctrl同时点击鼠标左键来执行扩展和替代选择类型。

按鼠标左键(或单鼠标按钮)作品无需采取上述行动。

回调之间的信息交互,请参阅可中断BusyAction属性。

窗口按钮动作回调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个回调函数执行时用户移动图窗口内的指针。

请注意

在一些系统中,WindowButtonMotionFcn回调执行时MATLAB创建一个图,即使没有鼠标运动图。

你的回调函数通过调用可能需要更新显示drawnow暂停函数,它使MATLAB处理队列中的所有回调。处理回调队列使你的回调函数可以进来。设计你的代码来处理可重入性,不依赖于全局变量可能会改变状态时再进入。

回调之间的信息交互,请参阅可中断BusyAction属性。

例如:编码窗口按钮回调函数

这个例子展示了如何代码这三个窗口按钮回调函数,这样用户可以使用鼠标画线运动。

复制和下面的代码保存到一个文件在一个可写的文件夹在您的系统上。然后,运行代码。单击鼠标左键在轴和移动光标。左击定义终点线。右键单击结束绘图模式。

函数window_motion_test图(“WindowButtonDownFcn”@wbdcb)啊=轴(“SortMethod”,“childorder”);轴([1 10 1 10])标题(单击并拖动的)函数callbackdata wbdcb (src) seltype = src.SelectionType;%这段代码使用点符号来设置属性%点符号在R2014b后来运行。% R2014a和早些时候:seltype = (src,“SelectionType”);如果比较字符串(seltype“正常”src。指针=“圆”;cp = ah.CurrentPoint;% R2014a和前:%设置(src,“指针”,“圆”);% cp =(啊,“CurrentPoint”);xinit = cp (1, 1);yinit = cp (1、2);hl =线(“XData”xinit,“YData”yinit,“标记”,“p”,“颜色”,“b”);src。WindowButtonMotionFcn = @wbmcb;src。WindowButtonUpFcn = @wbucb;% R2014a和前:%设置(“WindowButtonMotionFcn”src @wbmcb);%设置(“WindowButtonUpFcn”src @wbucb);结束函数callbackdata wbmcb (src) cp = ah.CurrentPoint;% R2014a和前:% cp =(啊,“CurrentPoint”);xdat = [xinit, cp (1,1)];ydat = [yinit, cp (1、2)];霍奇金淋巴瘤。XData = xdat;霍奇金淋巴瘤。YData = ydat;% R2014a和前:%设置(hl XData, xdat);%设置(hl YData, ydat);drawnow结束函数callbackdata wbucb (src) last_seltype = src.SelectionType;% R2014a和前:% last_seltype = (src,“SelectionType”);如果比较字符串(last_seltype“alt”src。指针=“箭头”;src。WindowButtonMotionFcn =;src。WindowButtonUpFcn =;% R2014a和前:%设置(src,“指针”,“箭头”);%设置(src, WindowButtonMotionFcn’,”);%设置(src, WindowButtonUpFcn’,”);其他的返回结束结束结束结束

窗口按钮回调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

例子:图(WindowButtonUpFcn, @myfun)指定button-release回调函数作为处理函数。

例子:图(WindowButtonUpFcn, {@myfun x})作为一个单元阵列将button-release指定回调函数。在这种情况下,该函数接受输入参数,x

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个回调函数执行当用户释放鼠标按钮。

扣上钮扣的回调与图窗口前一个温文尔雅的行动发生。因此,图中的指针不需要窗口当用户释放按钮生成纽扣的回调。

如果定义的回调函数WindowButtonDownFcnWindowButtonMotionFcn属性包含drawnow包含命令或调用其他函数drawnow命令和可中断属性设置为“关闭”,那么WindowButtonUpFcn回调可能不是。你可以通过设置防止这种情况可中断财产“上”

你的回调函数通过调用可能需要更新显示drawnow暂停函数,它使MATLAB处理队列中的所有回调。处理队列使你的回调函数可以进来。例如,一个drawnow命令的WindowButtonUpFcn回调可能导致WindowButtonUpFcn再次回调函数被调用之前第一次调用完成。设计你的代码来处理可重入性,不依赖于全局变量可能会改变状态时再进入。

您可以使用可中断BusyAction图属性控件回调函数是如何交互的。

窗口按键回调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

例子:图(WindowKeyPressFcn, @myfun)将按键指定回调函数作为处理函数。

例子:图(WindowKeyPressFcn, {@myfun x})将按键回调函数指定为一个细胞数组。在这种情况下,该函数接受输入参数,x

更多信息写回调函数并指定属性值,明白了如何指定回调属性值吗

WindowKeyPressFcn回调函数执行时出现按键而图(或任何的孩子)的焦点。

如果指定这个属性作为处理函数(或单元阵列包含一个函数处理),MATLAB传递一个对象包含回调数据回调函数的第二个参数。这个对象包含下表中描述的属性。您可以访问这些属性在回调函数使用点符号。

财产

内容

字符

字符显示的结果按下键。这个角色可以为空或者猥亵的

修饰符

一个单元阵列,其中包含一个或多个修饰符的名字键被按下(如控制,alt,转变)。在麦金塔电脑电脑,它包含“命令”当按下命令修改器的关键。

关键

键被按下,(小写)标签识别的关键,或者一个描述性的词。

关注的对象,当用户按下键。
Eventname 导致回调函数执行的行动。

窗口释放回调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

例子:图(WindowKeyReleaseFcn, @myfun f =)指定键释放回调函数作为处理函数。

例子:图(WindowKeyReleaseFcn, f = {@myfun x})指定键释放回调函数作为单元阵列。在这种情况下,该函数接受输入参数,x

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个回调执行时发生键释放而图窗口或它的任何儿童的焦点。

如果指定这个属性作为处理函数(或单元阵列包含一个函数处理),MATLAB传递一个对象包含回调数据回调函数的第二个参数。这个对象包含下表中描述的属性。您可以访问这些属性在回调函数使用点符号。

财产

内容

字符

由于显示的字符释放键或钥匙。这个角色可以为空或者猥亵的。

修饰符

一个单元阵列,其中包含一个或多个修饰符的名字被释放(如钥匙控制,alt,转变)。在麦金塔电脑电脑,它包含“命令”当释放命令修改器的关键。

关键

关键被释放,(小写)标签识别的关键,或者一个描述性的词。

当用户关注的对象释放的关键。
Eventname 导致回调函数执行的行动。

窗口滚动轮调,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

更多信息关于指定一个回调函数处理属性值,单元阵列,或字符向量,不见了如何指定回调属性值吗

这个回调执行当用户移动mouse-scroll-wheel而图的焦点。MATLAB与每个单一mouse-scroll-wheel点击执行回调。

请注意,有可能另一个对象捕捉从MATLAB mouse-scroll-wheel运动。例如,如果图包含Java®或ActiveX®监听mouse-scroll-wheel运动控制对象,这些对象可以捕获活动,防止WindowScrollWheelFcn从执行回调。

WindowScrollWheelFcn回调数据

当回调函数处理(或单元阵列包含一个函数处理),MATLAB传递一个对象包含回调数据回调函数的第二个参数。这个对象包含下表中描述的属性。您可以访问这些属性在回调函数使用点符号。

财产

内容

VerticalScrollCount

一个积极的还是消极的整数表明mouse-scroll-wheel点击的数量。正值表示点击轮子滚动的方向。负值表示点击轮子滚动的方向。

VerticalScrollAmount

当前系统的行数设置为每个点击滚动滚轮。如果设置为滚动鼠标属性设置一个屏幕,VerticalScrollAmount属性是1

影响其他属性

WindowScrollWheelFcn属性值对这些属性有以下影响:

  • CurrentObject属性- - - - - -WindowScrollWheelFcn房地产没有影响CurrentObject财产。

  • CurrentPoint属性——如果没有定义回调WindowScrollWheelFcn属性,然后MATLAB不更新CurrentPoint房地产作为用户将滚轮。然而,如果有一个回调的定义WindowScrollWheelFcn属性,然后用MATLAB更新CurrentPoint财产之前执行的回调函数。这使您能够确定的点鼠标滚动发生。

  • SelectionType属性- - - - - -WindowScrollWheelFcn房地产没有影响SelectionType财产。

VerticalScrollCount返回的值

当用户移动鼠标滚轮通过一次点击,MATLAB增量计数+ / - 1,根据滚动的方向(向下滚动积极)。当MATLAB调用WindowScrollWheelFcn回调,柜台重置。在大多数情况下,这意味着返回值的绝对值是1。然而,如果WindowScrollWheelFcn回调需要很长时间恢复或用户旋转滚轮非常快,或者两者都是,那么返回值的绝对值大于1。

返回的实际价值VerticalScrollCount财产的代数和mouse-scroll-wheel点击自去年发生的处理。这使你的回调正确响应用户操作。

例如:代码WindowScrollWheelFcn回调

这个示例创建一个图,允许用户使用鼠标滚轮改变MATLAB计算数学函数的范围。此外,它更新图以反映新的限制使用者转动滚轮。

复制和保存函数可写文件夹在您的系统上。然后,运行代码。鼠标在图和滚动你的鼠标滚轮。

函数scroll_wheel%演示了如何使用WindowScrollWheelFcn属性%图(f =“WindowScrollWheelFcn”@figScroll,“名字”,“滚轮演示”);x = [0: .1:40];y = 4。* cos (x) / (x + 2);一个=轴;h =情节(x, y);标题(“旋转滚轮”)函数callbackdata figScroll (src)如果callbackdata。VerticalScrollCount > 0 xd = h.XData;%这段代码使用点符号来设置属性%点符号在R2014b后来运行。% R2014a和早些时候:xd = (h,“XData”);公司= xd(结束)/ 20;x = [0。1: xd(结束)+公司);re_eval (x)elseifcallbackdata。VerticalScrollCount < 0 xd = h.XData;% R2014a和早些时候:xd = (h,“XData”);公司= xd(结束)/ 20;x = [0。1: xd(结束)公司+ 1。);%不要让xd = 0;re_eval (x)结束结束函数re_eval y (x) = 4。* cos (x) / (x + 2);h。YData = y;h。XData = x;一个。XLim = [0 x(结束)];% R2014a和前:%组(h, YData, y);%组(h, XData, x);%设置(“XLim”, [0 x(结束)]);drawnow结束结束

调整回调函数,指定这些值之一:

  • 一个处理函数。

  • 细胞数组中第一个元素是一个函数处理。后续单元阵列中的元素传递给回调函数的参数。

  • 一个特征向量包含有效的MATLAB表达式(不推荐)。MATLAB计算表达式的基本工作空间。

请注意

的使用ResizeFcn属性不推荐。它可能在将来的版本中被删除。使用SizeChangedFcn代替。

数据类型:function_handle|细胞|字符

回调执行控制

全部展开

回调中断,指定为“上”“关闭”。的可中断属性决定了如果一个回调可以运行中断。

有两种回调状态考虑:

  • 运行回调是当前执行的回调。

  • 打断回调是一个回调,试图中断正在运行的回调。

每当MATLAB调用回调,回调试图中断正在运行的回调(如果存在的话)。的可中断对象的属性拥有运行调决定是否允许中断:

  • 的值“上”允许其他回调中断对象的回调。中断发生在接下来的MATLAB处理队列,比如有一个的时候drawnow,,getframe,等待,或暂停

    • 如果运行调包含其中的一个命令,然后用MATLAB停止执行回调并执行中断的回调。MATLAB简历执行运行时回调打断调完成。

    • 如果调不包含运行这些命令,然后用MATLAB完成执行回调没有中断。

  • 的值“关闭”块全部中断。的BusyAction属性的对象拥有打断调决定如果打断回调被丢弃或放到一个队列中。

请注意

回调中断和执行不同的行为在这些情况下:

  • 如果中断的回调DeleteFcn,CloseRequestFcn,或SizeChangedFcn回调,那么无论发生中断可中断属性值。

  • 如果运行目前执行的回调等待函数,那么无论发生中断可中断属性值。

  • 计时器根据时间表不管对象执行可中断属性值。

  • MATLAB不拯救属性或状态的显示,当一个中断发生。例如,返回的对象gcagcf执行命令时可能会改变另一个回调。

看到中断执行回调一个示例,展示了可中断BusyAction属性影响程序的行为。

回调排队指定为“队列”(默认)或“取消”。的BusyAction属性决定了MATLAB如何处理中断的执行回调。有两种回调状态考虑:

  • 运行回调是当前执行的回调。

  • 打断回调是一个回调,试图中断正在运行的回调。

BusyAction财产的来源中断回调决定MATLAB如何处理其执行。的BusyAction财产这些值:

  • “队列”——把中断处理回调在一个队列跑回调结束后执行。

  • “取消”——不执行中断回调。

每当MATLAB调用回调,回调总是试图打断一个执行回调。的可中断对象的属性的回调是决定是否允许中断运行。如果可中断设置为:

  • ——中断发生在MATLAB处理队列。这是默认的。

  • - - -BusyAction打断回调对象的属性(拥有)决定如果MATLAB利用或忽略了打断回调。

看到中断执行回调一个示例,展示了BusyAction可中断属性影响程序的行为。

能力成为当前对象,指定为“上”“关闭”:

  • “上”——设置当前对象当用户单击组件在运行应用。CurrentObject财产的gco函数返回的作为当前对象。

  • “关闭”——当前对象不更新当用户单击图中运行应用程序。

这个属性是只读的。

删除状态,返回“关闭”“上”。MATLAB设置BeingDeleted财产“上”当对象的删除函数开始执行(参见DeleteFcn属性)。的BeingDeleted房地产仍将“上”直到对象已不复存在。

检查的价值BeingDeleted属性如果需要验证对象不会被删除之前查询或修改它。

父/子

全部展开

图母公司作为根对象返回。

的子图,作为一个空返回GraphicsPlaceholder或一个一维数组的对象。

你不能添加或删除儿童使用孩子们财产的。使用这个属性来查看孩子的列表或重新排序的孩子。孩子们在这个数组的顺序反映了前后顺序(堆垛顺序)在屏幕上的组件。

添加一个孩子这个列表,设置属性的子组件对象。

的对象HandleVisibility属性设置为“关闭”不列表中孩子们财产。

图对象的可见性,指定为“上”,“回调”,或“关闭”

这个属性决定是否在其父母的图(根)的孩子。HandleVisibility有助于防止命令行用户无意中画,或删除图只包含用户界面组件(如一个对话框)。

如果一个对象不是父母的孩子,通过搜索功能找到对象对象层次结构或查询属性不能返回该对象。这些功能包括得到,findobj,gca,gcf,gco,newplot,,clf,关闭

HandleVisibility属性值被限制使用“回调”“关闭”设置,没有出现在父对象的对象孩子们属性,数据没有出现在根CurrentFigure财产,不会出现在根对象CallbackObject财产或图CurrentObject财产,轴不会出现在他们的父母CurrentAxes财产。

设置根ShowHiddenHandles财产“上”显示所有对象,不管他们的HandleVisibility设置(这并不影响的值HandleVisibility属性)。

标识符

全部展开

图的名称,指定为一个特征向量或字符串标量。

例子:图(“名字”,“结果”)人物的名字“结果”

默认情况下,这个名字的图n,在那里n是一个整数。当你指定的名字财产,图的标题的图n:的名字。如果你想要的的名字值出现,集IntegerHandleNumberTitle“关闭”

这个属性是只读的。

图号,作为一个整数或返回空数组。您可以参考图使用这个值。例如,图(2)的图数量2当前图的属性值。

如果IntegerHandle属性设置为“关闭”,数量是一个空数组。

如果IntegerHandle“上”,数量属性值是一个整数。如果对象被删除,MATLAB重用接下来的图。

包括在图标题数量、指定为“上”“关闭”。的NumberTitle属性决定了MATLAB包括标签n在标题栏n是图数量属性值。

如果你设置IntegerHandle“关闭”图中,然后一个数字不显示窗口标题,不管的NumberTitle属性设置。

指定型号的能力,指定为“上”“关闭”

如果你设置IntegerHandle财产“上”MATLAB发现最低的整数值不使用现有的图和设置数量财产价值。如果你删除一个图,MATLAB可以重用一个新的图窗口。

如果你设置IntegerHandle财产“关闭”,MATLAB不分配图并设置一个整数值数量一个空数组属性([])。

文件名保存图,指定为一个特征向量或字符串标量。指导使用这个属性来存储用户界面布局文件的名称保存。

例子:图(“文件名”、“myfile.fig”)设置文件名myfile.fig

这个属性是只读的。

类型的图对象,返回“图”。使用这个属性来查找给定类型的所有对象在一个策划的层次结构。

对象标识符指定为一个特征向量或字符串标量。您可以指定一个唯一的标签值作为一个标识符中的任何组件对象应用。当你需要访问对象在您的代码,您可以使用findobj基于函数搜索对象标签价值。

例子:图(“标签”,“plotwindow”)创建一个图的标记标识符“plotwindow”

用户数据,指定为数组。指定用户数据可能是有用的在应用程序中共享数据。看到回调函数之间共享数据为更多的信息。

之前介绍过的R2006a

这个主题有帮助吗?