Main Content

Definir un callback de creación de objetos

En el siguiente ejemplo se muestra cómo definir un callback de creación de objetos.

Defina un callback de creación de objetos que especifique los valores para las propiedades LineWidth y Marker de los objetos de línea.

function lineCreate(src,~)
   src.LineWidth = 2;
   src.Marker = 'o';
end

Asigne esta función como el callback de creación de líneas predeterminado mediante la propiedad CreateFcn de la línea:

set(groot,'defaultLineCreateFcn',@lineCreate)

La función groot especifica la raíz de la jerarquía del objeto de gráficas. Por lo tanto, todas las líneas creadas en una sesión determinada de MATLAB® adquieren este callback. Todas las funciones de representación que crean líneas utilizan estos valores predeterminados.

Un callback de creación de objetos se ejecuta directamente después de que MATLAB cree el objeto y establezca todos los valores de su propiedad. Por lo tanto, el callback de creación puede anular los pares nombre-valor de la propiedad que se especifican en una función de representación. Por ejemplo:

set(groot,'defaultLineCreateFcn',@lineCreate)
h = plot(1:10,'LineWidth',.5,'Marker','none')

El callback de creación se ejecuta después de que se complete la ejecución de la función de gráfica. Los valores de propiedad LineWidth y Marker de la línea resultante son los valores que se han especificado en el callback de creación:

h = 

  Line  with properties:

              Color: [0 0 1]
          LineStyle: '-'
          LineWidth: 2
             Marker: 'o'
         MarkerSize: 6
    MarkerFaceColor: 'none'
              XData: [1 2 3 4 5 6 7 8 9 10]
              YData: [1 2 3 4 5 6 7 8 9 10]
              ZData: []

Información relacionada

Para obtener información acerca de la definición de funciones de callback, consulte Create Callbacks for Graphics Objects