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.

Copiar objetos

Copiar objetos concopyobj

Copiar objetos de un elemento primario a otro utilizando la función.copyobj La copia difiere del original:

  • La propiedad es ahora el nuevo padre.Parent

  • El manejador del objeto copiado es diferente del original.

  • no copia las propiedades de devolución de llamada del objeto originalcopyobj

  • no copia los datos de aplicación asociados al objeto original.copyobj

Por lo tanto, y devolver false al comparar los identificadores originales y nuevos.==isequal

Puede copiar varios objetos a un nuevo elemento principal o un objeto a varios nuevos padres, siempre que el resultado mantenga la relación principal/secundaria correcta. Cuando se copia un objeto que tiene objetos secundarios, también se copian todos los hijos.MATLAB®

Nota

No se puede copiar el mismo objeto más de una vez en el mismo elemento primario en una sola llamada a.copyobj

Copiar objeto único en varios destinos.

Al copiar un único objeto en varios destinos, los nuevos identificadores devueltos por están en el mismo orden que los identificadores primarios.copyobj

h = copyobj(cobj,[newParent1,newParent2,newParent3])

La matriz devuelta contiene los nuevos identificadores de objeto en el orden mostrado:h

   h(1) -> newParent1    h(2) -> newParent2    h(3) -> newParent3

Copiar varios objetos

En este ejemplo se muestra cómo copiar varios objetos en un único elemento primario.

Supongamos que crea un conjunto de gráficos similares y desea etiquetar el mismo punto de datos en cada gráfico. Puede copiar los objetos de texto y marcador utilizados para etiquetar el punto del primer gráfico en cada gráfico subsiguiente.

Cree y etiquete el primer gráfico:

x = 0:.1:2*pi; plot(x,sin(x)) hText = text('String','\{5\pi\div4, sin(5\pi\div4)\}\rightarrow',...    'Position',[5*pi/4,sin(5*pi/4),0],...    'HorizontalAlignment','right'); hMarker = line(5*pi/4,sin(5*pi/4),0,'Marker','*'); 

Cree dos gráficos más sin Etiquetas:

figure x = pi/4:.1:9*pi/4; plot(x,sin(x)) hAxes1 = gca; 
figure x = pi/2:.1:5*pi/2; plot(x,sin(x)) hAxes2 = gca; 

Copie el texto y el marcador (y) en cada gráfico al criarlos en los ejes respectivos.hTexthMarker Devuelva los nuevos identificadores para las copias de texto y marcador:

newHandles1 = copyobj([hText,hMarker],hAxes1); newHandles2 = copyobj([hText,hMarker],hAxes2);

Dado que el objetivo es copiar ambos objetos en cada eje, llame dos veces, cada vez con un único eje de destino.copyobj

Copiar varios objetos en varios destinos

Cuando se llama con varios objetos para copiar y varios destinos primarios, copia los objetos respectivos a los respectivos padres.copyobjcopyobj Es decir, si y son manejar matrices de longitud, entonces esta llamada a:hpncopyobj

copyobj(h,p) 

da como resultado una copia elemento por elemento:

h(1) -> p(1); h(2) -> p(2); ... h(n) -> p(n);