主要内容

iptSetPointerBehavior

在图形对象中存储指针行为结构

描述

例子

iptSetPointerBehavior (objpointerBehavior将指定的指针行为结构存储在指定的图形对象中,obj.如果obj是一个对象数组吗iptSetPointerBehavior在每个对象中存储相同的结构。

如果图中安装了指针管理器,那么当鼠标移动到图中的对象并退出时,指针管理器将调用这些函数。看到iptPointerManager

iptSetPointerBehavior (obj[])清除图形对象或对象的指针行为。

iptSetPointerBehavior (obj有趣的创建指针行为结构,设置enterFcn字段赋给指定的函数有趣的,并设置traverseFcnexitFcn字段[].提供这种语法是为了方便,因为在许多常见的用法中,只有enterFcn字段是必需的。

例子

全部折叠

显示一个带有两个矩形补丁图形对象的图形。

([patchobj1 =补丁。25.75 . 25.25],...[.25 .25 .75 .25]“r”);([patchobj2 =补丁。05.15.15.05 .05]...[.05 .05 .95 .95 .05],“b”);ylim([0 1])

通过创建一个包含三个字段的结构来指定指针行为,enterFcnexitFcn,traverseFcn

当指针穿过指定对象时,将鼠标指针更改为一个fleur并更改图形的标题。属性指定此行为enterFcn字段。

pb。enterFcn = @(图,currentPoint) set(...“名字”“在补丁”...“指针”“芙蓉”);

当指针离开对象时,恢复原始指针和图形标题。属性指定此行为exitFcn字段。

pb。exitFcn = @(fig,currentPoint) set(fig,...“名字”...“指针”“箭头”);

不要在指针遍历对象时更改图形。设置traverseFcn字段作为[]

pb。traverseFcn = [];

在当前图中创建指针管理器。然后,关联指针行为结构pb两个补丁对象。在图形周围移动鼠标,可以看到指针行为的变化。

iptSetPointerBehavior ([patchobj1 patchobj2], pb);iptPointerManager (gcf)

用矩形补丁图形对象显示图形。增加图像的x和y限制,在补丁周围添加一些空白。

([patchobj =补丁。25.75 . 25.25],...[.25 .25 .75 .25]“r”);ylim([0 1])

通过创建名为pb有三个字段。

  • enterFcnexitFcn字段设置为[]因此,当指针越过图形对象的边界时,它不采取任何行动。

  • traverseFcn字段设置为函数的句柄overMe,它在本例的最后被定义为帮助函数。当指针移动到图形对象上时,helper函数根据指针的位置改变指针符号。

pb。enterFcn = [];pb。exitFcn = [];pb。traverseFcn = @overMe;

在当前图中创建指针管理器。然后,关联指针行为结构pbPatch图形对象patchobj.在图形周围移动鼠标以查看指针行为的变化。

iptPointerManager (gcf);iptSetPointerBehavior (patchobj, pb);

Helper函数

函数overMe (hFigure currentPoint)%overMe根据指针位置设置图形指针。% overMe(hFigure,currentPoint)设置鼠标指针为'topr', 'topl', 'botr', 'botl',取决于是否% currentPoint在右上角、左上角、右下角或底部hFigure当前轴的左边%。hax =得到(hFigure,“CurrentAxes”);以像素为单位获取坐标轴的位置。oldUnits =得到(hax,“单位”);集(hax,“单位”“像素”);axesPosition =得到(hax,“位置”);集(hax,“单位”, oldUnits);x_middle = axesPosition(1) + 0.5*axesPosition(3);y_middle = axesPosition(2) + 0.5*axesPosition(4);x = currentPoint (1,1);y = currentPoint(1、2);如果(x > x_middle)如果(y > y_middle) pointer =“topr”其他的指针=“botr”结束其他的如果(y > y_middle) pointer =“topl”其他的指针=“botl”结束结束集(hFigure,“指针”,指针);结束

输入参数

全部折叠

图形对象,指定为图形、轴、ui或图像图形对象的句柄。obj也可以是一个图形对象数组。

指针行为,指定为具有三个字段的结构。

要定义指针的特定操作,请将这些字段的值设置为函数句柄。如果将字段设置为[],则不采取任何行动。当指针管理器调用函数句柄时,它传递两个参数:figure对象和指针的当前位置。

调用时
enterFcn 当鼠标指针移动到对象上时调用。
traverseFcn 当鼠标指针移动到对象上时调用一次,当鼠标在对象内移动时再次调用一次。
exitFcn 当鼠标指针离开对象时调用。

当指针移动到对象上时的指针行为,指定为函数句柄。

数据类型:function_handle

提示

  • 如果使用iptSetPointerBehavior然后在不使用的情况下更改图形指针iptSetPointerBehavior,那么iptPointerManager可能不会更新以反映新的行为。改变图形指针的一些方法无需使用iptSetPointerBehavior包括使用ROI对象,例如多边形,另一个图形对象,另一个自定义UI,或从回调中修改指针的代码。

介绍了R2006a