大多数UI组件可在App Designer中使用组件库用于拖放到画布上。偶尔,您可能需要在代码视图中以编程方式添加组件。以下是一些常见的情况:
控件中不可用的组件组件库。例如,显示对话框的应用程序必须调用适当的函数来显示对话框。
根据运行时条件动态创建组件。
当您以编程方式添加UI组件时,必须调用适当的函数来创建组件,为组件分配回调,然后将回调写为辅助功能。
调用从现有回调中创建组件的函数(对于UI组件函数列表,请参阅uifigure-Based应用)。这StartupFcn
回调是创建组件的好地方,因为当应用程序启动时,回调运行。在其他情况下,您可能会在不同的回调函数中创建组件。例如,如果要在用户按下按钮时显示对话框,请从按钮的回调函数中调用对话框函数。
调用函数以创建组件时,将图形或一个子容器指定为父对象。例如,此命令创建一个按钮,并将图形指定为父对象。在这种情况下,该图具有App Designer分配的默认名称(app.uifigure.
)。
B = UIBUTTON(APP.UIFIGURE);
接下来,将组件的Callback属性指定为表单的函数句柄@app。CallbackName.
。例如,此命令设置了buttonpushedfcn.
按钮属性B.
的回调函数mybuttonpress
。
B.B.Buttonpushedfcn = @ app.mybuttonpress;
将组件写入私有辅助功能的回调函数。该功能必须具有应用程序
那src
,事件
作为前三个参数。下面是一个作为私有助手函数编写的回调函数示例。
方法(访问=私人)函数mybuttonpress(app,src,事件)disp(“祝你今天愉快!”);结尾结尾
要编写接受其他输入参数的回调,请在前三个之后指定附加参数。例如,此回调接受两个附加输入,X
和y
:
方法(访问=私人)函数Addxy(APP,SRC,事件,X,Y)DISP(x + y);结尾结尾
要将此回调分配给组件,请将组件的回调属性指定为单元格数组。单元格阵列中的第一个元素必须是函数句柄。后续元素必须是附加输入值。例如:
B.Buttonpushedfcn = {@ app.addxy,10,20};
此应用程序显示如何在对话框关闭时,如何显示执行回调的确认对话框。
当用户单击窗口的关闭按钮时(X),将显示一个对话框以确认用户想要关闭应用程序。当用户解雇对话框时,关闭
回调执行。
此应用程序显示如何在运行时动态添加树节点。在应用程序运行之前,这三个医院节点存在于树中。但是在运行时,该应用程序会在每个医院名称下添加多个子节点。子节点的数量和子节点上的标签由内容确定患者.XL
电子表格。
当用户单击树中的患者名时,患者信息面板显示年龄,性别和健康状况等数据。该应用程序存储对表阵列中的数据的更改。