UI组件添加到应用程序编程设计

大多数UI组件是在App Designer中可用组件库供您拖放到画布上。有时,您可能需要在代码视图中以编程方式添加组件。以下是一些常见的情况:

  • 控件中不可用的组件组件库。例如,一个应用程序,显示一个对话框必须调用相应的功能,以显示该对话框。

  • 动态地根据运行时的条件创建组件。

当您添加UI组件编程,你必须调用相应的函数来创建组件,回调指定给组件,然后写回调作为一个辅助功能。

创建该组件并指定回调

调用创建从现有的回调(为组件函数列表中的组件的功能,请参阅设计应用程序的应用程序设计)。该StartupFcn回调是当应用程序启动时创建,因为回调运行组件的好地方。在其他情况下,您可以创建一个不同的回调函数内的组件。例如,如果您希望当用户按下一个按钮,显示一个对话框,从按钮的回调函数中调用该对话框的功能。

当你调用一个函数来创建一个组件,指定人物或其子容器作为父对象之一。例如,该命令创建一个按钮,并指定该图作为父对象。在这种情况下,图中的缺省名称为该应用程序设计师受让人(app.UIFigure)。

B =的UIButton(app.UIFigure);

接下来,指定组件的回调财产形式的功能手柄@app。callbackname。例如,该命令设置ButtonPushedFcn属性的按钮b到一个名为的回调函数mybuttonpress

b.ButtonPushedFcn = @ app.mybuttonpress;

写回调

写出组件作为一个私有的辅助函数的回调函数。该功能必须有应用src,事件作为前三个参数。下面是一个作为私有帮助函数编写的回调示例。

方法(ACCESS =私人)功能mybuttonpress(应用程序,SRC,事件)DISP( '有一个愉快的一天!');结束结束

要编写接受额外的输入参数的回调,前三后指定​​附加参数。例如,该回调具有接受两个附加输入,Xÿ

方法(ACCESS =私有)函数addxy(表观,SRC,事件,X,Y)DISP(X + Y);结束结束

要将此回调分配给组件,请将组件的回调属性指定为单元格数组。单元格数组中的第一个元素必须是函数句柄。后续元素必须是附加的输入值。例如:

b.ButtonPushedFcn = {@ app.addxy,10,20};

例如:确认对话框具有关闭功能

这个应用程序显示了如何显示执行的回调对话框关闭时一个确认对话框。

当用户点击窗口的关闭按钮(X),显示一个对话框,以确认用户想要关闭该应用程序。当用户取消对话框时,CloseFcn回调执行。

例如:应用程序用于填充树节点基于数据文件

这个应用程序显示了如何在运行时动态添加树节点。三个院节点树中存在的应用程序运行之前。但是在运行时,应用程序增加了在每个医院名称几个子节点。子节点的标签的子节点的数量,并通过的内容决定patients.xls电子表格。

当用户单击树中的患者名时患者信息面板显示的数据,如年龄,性别和健康状况。该应用程序存储在一个表阵列改变到数据。

相关的话题