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.

Use una devolución de llamada para varios componentes del diseñador de aplicaciones

El uso compartido de devoluciones de llamada entre componentes es útil cuando se desea ofrecer varias formas de hacer algo en la aplicación. Por ejemplo, es posible que desee que la aplicación responda de la misma manera cuando el usuario hace clic en un botón o presiona la tecla en un campo de edición.Entrar

Ejemplo de una devolución de llamada compartida

En este ejemplo se muestra cómo crear una aplicación que contiene dos componentes de interfaz de usuario que comparten una devolución de llamada. La aplicación muestra una gráfica de contorno con el número de niveles especificado. Cuando el usuario cambia el valor en el campo de edición, puede presionar o hacer clic en el botón para actualizar el trazado.EntrarUpdate Plot

  1. En el diseñador de aplicaciones, arrastre un componente desde el lienzo.EjesComponent Library A continuación, realice estos cambios:

    • Haga doble clic en el título y cámbielo.Select Contours of Peaks Function

    • Haga doble clic en las etiquetas del eje X e y y presione la tecla para eliminarlas.Eliminar

  2. Arrastre un componente por debajo de los ejes del lienzo.Edit Field (Numeric) A continuación, realice estos cambios:

    • Haga doble clic en la etiqueta situada junto al campo de edición y cámbielo.Levels:

    • Haga doble clic en el campo de edición y cambie el valor predeterminado.20

  3. Arrastre un componente junto al campo de edición en el lienzo.Button A continuación, haga doble clic en su etiqueta y cámbielo a.Update Plot

  4. Agregue una función de devolución de llamada que se ejecuta cuando el usuario hace clic en el botón. Haga clic con el botón derecho y seleccioneUpdate Plot Callbacks > Add ButtonPushedFcn callback.

  5. El diseñador de aplicaciones cambia al.Code View Pegue este código en el cuerpo de la devolución de llamada:UpdatePlotButtonPushed

    Z = peaks(100); nlevels = app.LevelsEditField.Value; contour(app.UIAxes,Z,nlevels); 
  6. A continuación, comparta la devolución de llamada con el campo de edición. En el, haga clic con el botón derecho en el componente y seleccioneComponent Browserapp.LevelsEditField Callbacks > Select existing callback.... Cuando aparezca el cuadro de diálogo Seleccionar función de devolución de llamada, seleccione en el menú desplegable.UpdatePlotButtonPushedName

    Compartir esta devolución de llamada permite al usuario actualizar la gráfica después de cambiar el valor en el campo de edición y presionar.Entrar Alternativamente, pueden cambiar el valor y presionar el botón.Update Plot

  7. A continuación, defina la relación de aspecto y los límites de los ejes. En el, seleccione el componente.Component Browserapp.UIAxes A continuación, realice los siguientes cambios en la ficha:Inspector

    • Establecido en.PlotBoxAspectRatio1,1,1

    • Set y para.XLimYLim0,100

  8. Haga clic para guardar y ejecutar la aplicación.Run

Cambiar o desconectar una devolución de llamada

Para asignar una devolución de llamada diferente a un componente, seleccione el componente en el.Component Browser A continuación, haga clic en la pestaña y seleccione una devolución de llamada diferente en el menú desplegable.Callbacks El menú desplegable muestra solo las devoluciones de llamada existentes.

Para desconectar una devolución de llamada que se comparte con un componente, seleccione el componente en el.Component Browser A continuación, haga clic en la pestaña y seleccione en el menú desplegable.Callbacks<no callback> Al seleccionar esta opción, solo se desconecta la devolución de llamada del componente. No elimina la definición de función del código, ni desconecta la devolución de llamada de otros componentes.

Después de desconectar una devolución de llamada, puede crear una nueva devolución de llamada para el componente o dejar el componente sin una función de devolución de llamada.

Temas relacionados