Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Escribir devoluciones de llamada en App Designer

Nota

Para obtener información sobre devoluciones de llamada en GUIDE, consulte Escribir devoluciones de llamada en la GUIDE. Si está creando una aplicación mediante programación, consulte Escribir devoluciones de llamada para aplicaciones creadas mediante programación.

Una devolución de llamada es una función que se ejecuta cuando un usuario interactúa con un componente de IU en la aplicación. La mayoría de los componentes pueden tener al menos una devolución de llamada. Sin embargo, algunos componentes, como las etiquetas y las lámparas, no tienen devoluciones de llamada porque esos componentes sólo muestran información.

Para ver la lista de devoluciones de llamada que admite un componente, seleccione el componente y haga clic en la ficha Callbacks del panel Properties de componentes.

Crear una función de devolución de llamada

Hay varias formas de crear una devolución de llamada para un componente de interfaz de usuario. Puede usar diferentes enfoques dependiendo de la parte del diseñador de aplicaciones en la que esté trabajando. Elija el enfoque más conveniente de la siguiente lista.

  • Haga clic con el botón derecho en un componente del panel Canvas, Component Browser o App Layout y seleccione Callbacks > Add (callback property) callback.

  • Seleccione la ficha Callbacks en el panel Properties de componentes. El lado izquierdo de la ficha Callbacks muestra una lista de propiedades de devolución de llamada admitidas. El campo de texto situado junto a cada propiedad callback permite especificar un nombre para la función callback. La flecha descendente situada junto al campo de texto le permite seleccionar un nombre predeterminado en paréntesis de ángulo <>. Si la aplicación tiene devoluciones de llamada existentes, la desplegable incluye esas devoluciones de llamada. Seleccione una devolución de llamada existente cuando desee que varios componentes de la interfaz de usuario ejecuten el mismo código.

  • En el código Code View, en la ficha Editor, haga clic en Callbacks . O en el Code Browser de la ficha Callbacks, haga clic en el botón.

    Especifique las siguientes opciones en el cuadro de diálogo Add Callback Function:

    • Component: Permite especificar el componente de interfaz de usuario que ejecuta la devolución de llamada.

    • Callback — Especifica la propiedad callback. La propiedad callback asigna la función de devolución de llamada a una interacción específica. Algunos componentes tienen más de una propiedad callback disponible. Por ejemplo, los deslizadores tienen dos propiedades de devolución de llamada: ValueChangedFcn y ValueChangingFcn. La propiedad ValueChangedFcn se ejecuta después de que el usuario mueve el control deslizante y libera el mouse. La propiedad ValueChangingFcn del mismo componente se ejecuta repetidamente mientras el usuario mueve el control deslizante.

    • Name: Permite especificar un nombre para la función de devolución de llamada. El diseñador de aplicaciones proporciona un nombre predeterminado, pero puede cambiarlo en el campo de texto. Si la aplicación tiene devoluciones de llamada existentes, el campo Name tiene una flecha abajo junto a ella, lo que indica que puede seleccionar una devolución de llamada existente de una lista.

Uso de los argumentos de entrada de función callback

Todas las devoluciones de llamada de App Designer tienen los siguientes argumentos de entrada en la firma de la función:

  • app — El objeto app. Utilice este objeto para acceder a los componentes de la interfaz de usuario de la aplicación, así como a otras variables almacenadas como propiedades.

  • event — Un objeto que contiene información específica sobre la interacción del usuario con el componente UI.

El argumento app proporciona el objeto app a la devolución de llamada. Puede tener acceso a cualquier componente (y a todas las propiedades específicas del componente) dentro de cualquier devolución de llamada utilizando esta sintaxis:

app.Component.Property

Por ejemplo, este comando establece la propiedad Value de un indicador en 50. En este caso, el nombre del indicador es PressureGauge.

app.PressureGauge.Value = 50;

El argumento event proporciona un objeto que tiene propiedades diferentes, dependiendo de la devolución de llamada específica que se esté ejecutando. Las propiedades del objeto contienen información relevante para el tipo de interacción al que responde la devolución de llamada. Por ejemplo, el argumento event de una devolución de llamada ValueChangingFcn de un control deslizante contiene una propiedad denominada Value. Esa propiedad almacena el valor del control deslizante a medida que el usuario mueve el pulgar (antes de soltar el mouse). A continuación se encuentra una función de devolución de llamada del control deslizante que utiliza el argumento event para hacer que un indicador rastree el valor del control deslizante.

function SliderValueChanged(app, event)       latestvalue = event.Value; % Current slider value       app.PressureGauge.Value = latestvalue;  % Update gauge    end
Para obtener más información sobre el argumento event de la función de devolución de llamada de un componente específico, consulte la página de propiedades de ese componente. Haga clic con el botón derecho en el componente y seleccione Help on Selection para abrir la página de propiedades. Para obtener una lista de las páginas de propiedades de todos los componentes de la interfaz de usuario, consulte Designing Apps in App Designer.

Búsqueda de devoluciones de llamada en el código

Si su aplicación tiene un montón de devoluciones de llamada, puede buscar rápidamente y navegar a una devolución de llamada específica escribiendo parte del nombre en la barra de búsqueda en la parte superior de la ficha Callbacks en el Code Browser. Después de comenzar a escribir, el panel Callbacks se borra, excepto para las devoluciones de llamada que coincidan con la búsqueda.

Haga clic en un resultado de búsqueda para desplazar la devolución de llamada a vista. Haciendo clic con el botón derecho en un resultado de búsqueda y seleccionando Go To coloca el cursor en la función callback.

Eliminar devoluciones de llamada

Elimine una devolución de llamada haciendo clic con el botón derecho en la devolución de llamada en la ficha Callbacks del Code Browser y seleccionando Delete en el menú contextual.

Ejemplo: app con una devolución de llamada de slider

Esta aplicación contiene un indicador que rastrea el valor de un deslizador mientras el usuario mueve el pulgar. La devolución de llamada ValueChangingFcn para el control deslizante obtiene el valor actual del control deslizante del argumento event. Luego mueve la aguja de calibre a ese valor.

Temas relacionados