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.

Identificadores de objeto especiales

Obtención de asas para objetos especiales

proporciona funciones que devuelven identificadores de objeto importantes para que pueda obtener estos identificadores siempre que los necesite.MATLAB®

Estos objetos incluyen:

  • Figura actual: identificador de la figura que es el destino actual de los comandos de gráficos.

  • Ejes actuales: identificador de los ejes de la figura actual que es el destino de los comandos de gráficos.

  • Objeto actual: identificador del objeto seleccionado

  • Objeto callback: identificador del objeto cuya devolución de llamada se está ejecutando.

  • Figura de devolución de llamada: identificador de la figura que es el elemento primario del objeto de devolución de llamada.

La figura actual, los ejes y el objeto

Un concepto importante en los gráficos es el de ser el objeto actual.MATLAB Ser actual significa que el objeto es el destino de cualquier acción que afecte a los objetos de ese tipo. Hay tres objetos designados como actuales en cualquier momento:

  • Es la ventana designada para recibir la salida de gráficos.Figura actual

  • Son los ejes en los que las funciones de trazado muestran gráficos.ejes actuales

  • Es el objeto más reciente creado o seleccionado.objeto actual

almacena los tres identificadores correspondientes a estos objetos en la propiedad correspondiente del antecesor.MATLAB

Estas propiedades permiten obtener los identificadores de estos objetos clave:

hRoot = groot; hFigure = hRoot.CurrentFigure; hAxes = hFigure.CurrentAxes; hobj = hFigure.CurrentObject;

Funciones de conveniencia

Los siguientes comandos son notación abreviada para las consultas de propiedad.

  • : Devuelve el valor de la propiedad raíz o crea una figura si no hay ninguna figura actual.gcfCurrentFigure Una figura con su propiedad establecida en no puede convertirse en la figura actual.HandleVisibilityoff

  • : Devuelve el valor de la propiedad de la figura actual o crea un eje si no hay ningún eje actual.gcaCurrentAxes Los ejes con su propiedad establecida en no pueden convertirse en los ejes actuales.HandleVisibilityoff

  • : Devuelve el valor de la propiedad de la figura actual.gcoCurrentObject

Utilice estos comandos como argumentos de entrada para las funciones que requieren identificadores de objeto. Por ejemplo, puede hacer clic en un objeto de línea y, a continuación, utilizarlo para especificar el identificador del comando,gcoset

set(gco,'Marker','square')

o haga clic en un objeto de ejes para establecer una propiedad de ejes:

set(gca,'Color','black')

Puede obtener los identificadores de todos los objetos gráficos en los ejes actuales (excepto los identificadores ocultos):

h = get(gca,'Children');

y, a continuación, determine los tipos de los objetos:

get(h,'Type') 
ans =        'text'       'patch'       'surface'       'line'

Aunque proporcionan un medio simple para obtener los identificadores actuales de la figura y los ejes, son menos útiles en los archivos de código.gcfgca Especialmente cierto si el código forma parte de una aplicación en capas en la que no conoce las acciones del usuario que pueden cambiar estos valores.MATLAB

Para obtener información sobre cómo evitar que los usuarios accedan a los identificadores de los objetos gráficos que desea proteger, consulte.Impedir el acceso a figuras y ejes

Callback Object y callback figure

Las funciones de devolución de llamada suelen requerir información sobre el objeto que define la devolución de llamada o la figura que contiene los objetos cuya devolución de llamada se está ejecutando. Para obtener asas, estos objetos, utilice estas funciones de conveniencia:

  • : Devuelve el valor de la propiedad root.gcboCallbackObject Esta propiedad contiene el identificador del objeto cuya devolución de llamada se está ejecutando. Devuelve opcionalmente el identificador de la figura que contiene el objeto de devolución de llamada.gcbo

  • : Devuelve el identificador de la figura que contiene el objeto de devolución de llamada.gcbf

mantiene el valor de la propiedad sincronizada con la devolución de llamada que se está ejecutando actualmente.MATLABCallbackObject Si una devolución de llamada interrumpe una devolución de llamada de ejecución, actualiza el valor de Property.MATLABCallbackObject

Al escribir funciones de devolución de llamada para el y, utilice siempre para hacer referencia al objeto de devolución de llamada.CreateFcnDeleteFcngcbo

Para obtener más información sobre cómo escribir funciones de devolución de llamada, consulteDefinición de devolución de llamada