再次回到uicontrol函数,除了Callback主回调函数之外还有许多其他的回调属性,如:
ButtonDownFcn - 按下鼠标按键回调函数
‘’ (默认) | 函数句柄 | 元胞数组 | 字符向量
ButtonDownFcn 回调是当用户在 UI 组件上点击鼠标按键时执行的函数。回调在以下情形下执行:
用户右键点击 UI 组件,并且 Enable 属性设置为 ‘on’。
用户右键点击或左键点击 UI 组件,并且 Enable 属性设置为 ‘off’ 或 ‘inactive’。
KeyPressFcn - 按键回调函数
‘’ (默认) | 函数句柄 | 元胞数组 | 字符向量
按修改键会以下列方式影响回调数据:
修改键可影响 Character 属性,但不会更改 Key 属性。
特定键以及使用 Ctrl 修饰的键会在 Character 属性中放置无法打印的字符。
Ctrl、Alt、Shift 以及其他几个键不会生成 Character 属性数据。
KeyReleaseFcn - 释放键回调函数
‘’ (默认) | 函数句柄 | 元胞数组 | 字符向量
按修改键会以下列方式影响回调数据:
修改键可影响 Character 属性,但不会更改 Key 属性。特定键以及使用 Ctrl 修饰的键会在 Character 属性中放置无法打印的字符。Ctrl、Alt、Shift 以及其他几个键不会生成 Character 属性数据。
诸如上述函数,还有CreateFcn - 组件创建函数和DeleteFcn - 组件删除函数;除了初始化时使用过组件创建函数之外未使用过其他,就不发表看法了,如果遇到再说吧。
除了回调函数之外,还有回调函数控件与父级/子级等概念,这些关系到大规模系统的应用响应暂时略过,看了不用等于没看,需要时再来补吧。
然后就是标识符的概念,在guide中标识符很重要,因为这个是参数,数据传递的标志(可惜当时我没咋懂,所以再来看编程实现GUI,不过也挺好的)。
标识符
Type - 图形对象的类型
‘uicontrol’
Tag - 对象标识符
‘’ (默认) | 字符向量 | 字符串标量
对象标识符,指定为字符向量或字符串标量。您可以指定唯一的 Tag 值作为对象的标识符。如果需要访问您代码中其他位置的对象,可以使用 findobj 函数基于 Tag 值搜索对象。
UserData - 用户数据
[ ] (默认) | 数组
用户数据,指定为任何数组。指定 UserData 对在 App 内共享数据很有用。
下面利用上述知识可以在没有菜单栏,图标等情况下做出一个小的GUI设计;这里我将做一个包含加减乘除的计算器,单界面,来巩固一下学习内容。在设计GUI之前,有必要知道如何设置计算器这个GUI的大小,所以先简要浏览一下figure属性,看看哪个和大小有关(直接去百度,真的好乱啊,建议养成看文档的习惯,慢慢看英文,总会看会的,开头确实比较难)
在figure的属性的Position下找到了:
Position - 可绘制区域的位置和大小
[left bottom width height]
可绘制区域的位置和大小,指定为 [left bottom width height] 形式的向量。此区域不包括图窗边框、标题栏、菜单栏和工具栏。
根据这个设置figure的大小,免得太畸形。
目标是这样的:
这些留到下一次吧。