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.

iptSetPointerBehavior

Almacenar la estructura del comportamiento del puntero en el objeto gráfico

Descripción

ejemplo

iptSetPointerBehavior(obj,pointerBehavior) almacena la estructura de comportamiento del puntero especificada en el objeto gráfico especificado, .obj Si es una matriz de objetos, almacena la misma estructura en cada objeto.objiptSetPointerBehavior

Si la figura tiene instalado un administrador de punteros, el administrador de punteros llama a estas funciones cuando el mouse se mueve y, a continuación, sale de un objeto de la figura. Ver.iptPointerManager

iptSetPointerBehavior(obj,[]) borra el comportamiento del puntero del objeto u objetos gráficos.

iptSetPointerBehavior(obj,fun) crea una estructura de comportamiento de puntero, estableciendo el campo en la función especificada y estableciendo los campos y en .enterFcnfuntraverseFcnexitFcn[] Esta sintaxis se proporciona como una conveniencia porque, para muchos usos comunes, sólo el campo es necesario.enterFcn

Ejemplos

contraer todo

Mostrar una figura con dos objetos gráficos de parche rectangulares.

patchobj1 = patch([.25 .75 .75 .25 .25],...                [.25 .25 .75 .75 .25], 'r'); patchobj2 = patch([.05 .15 .15 .05 .05],...                [.05 .05 .95 .95 .05], 'b'); xlim([0 1]) ylim([0 1]) 

Especifique el comportamiento del puntero creando una estructura con tres campos, , , y .enterFcnexitFcntraverseFcn

Siempre que el puntero cruce sobre un objeto especificado, cambie el puntero del mouse a una fleur y cambie el título de la figura. Especifique este comportamiento mediante el campo.enterFcn

pb.enterFcn = @(fig,currentPoint) set(fig, ...     'Name','Over Patch', ...     'Pointer','fleur'); 

Cuando el puntero se mueva fuera del objeto, restaure el puntero original y el título de la figura. Especifique este comportamiento mediante el campo.exitFcn

pb.exitFcn = @(fig,currentPoint) set(fig, ...     'Name','', ...     'Pointer','arrow'); 

No cambie la figura a medida que el puntero atraviesa el objeto. Establezca el campo como .traverseFcn[]

pb.traverseFcn = []; 

Cree un administrador de punteros en la figura actual. A continuación, asocie la estructura de comportamiento del puntero con ambos objetos de revisión.pb Mueva el ratón alrededor de la figura para ver el cambio de comportamiento del puntero.

iptSetPointerBehavior([patchobj1,patchobj2],pb); iptPointerManager(gcf) 

Mostrar una figura con un objeto de gráficos de parche rectangular. Aumente los límites x e y de la imagen para agregar un poco de espacio en blanco alrededor del parche.

patchobj = patch([.25 .75 .75 .25 .25],...                [.25 .25 .75 .75 .25], 'r'); xlim([0 1]) ylim([0 1]) 

Especifique el comportamiento del puntero creando una estructura denominada con tres campos.pb

  • Los campos y se establecen para que el puntero no realiza ninguna acción cuando se mueve a través del límite de un objeto gráfico.enterFcnexitFcn[]

  • El campo se establece como un identificador de la función, que se define como una función auxiliar al final de este ejemplo.traverseFcnoverMe A medida que el puntero se mueve sobre el objeto de gráficos, la función auxiliar cambia el símbolo del puntero en función de la ubicación del puntero.

pb.enterFcn = []; pb.exitFcn = []; pb.traverseFcn = @overMe; 

Cree un administrador de punteros en la figura actual. A continuación, asocie la estructura de comportamiento del puntero con el objeto de gráficos Patch .pbpatchobj Mueva el ratón alrededor de la figura para ver los cambios en el comportamiento del puntero.

iptPointerManager(gcf); iptSetPointerBehavior(patchobj,pb); 

Función auxiliar

function overMe(hFigure,currentPoint) %overMe Set figure pointer depending on pointer location. %   overMe(hFigure,currentPoint) sets the hFigure mouse pointer to be %   either 'topr', 'topl', 'botr', 'botl', depending on whether %   currentPoint is in the top right, top left, bottom right, or bottom %   left of the hFigure's current axes.  hAxes = get(hFigure,'CurrentAxes');  % Get the axes position in pixel units. oldUnits = get(hAxes,'Units'); set(hAxes,'Units','pixels'); axesPosition = get(hAxes,'Position'); set(hAxes,'Units',oldUnits);  x_middle = axesPosition(1) + 0.5*axesPosition(3); y_middle = axesPosition(2) + 0.5*axesPosition(4);  x = currentPoint(1,1); y = currentPoint(1,2);  if (x > x_middle)     if (y > y_middle)         pointer = 'topr';     else         pointer = 'botr';     end else     if (y > y_middle)         pointer = 'topl';     else         pointer = 'botl';     end end  set(hFigure,'Pointer',pointer); end 

Argumentos de entrada

contraer todo

Objeto Graphics, especificado como identificador de una figura, ejes, uipanel o objetos de gráficos de imagen. también puede ser una matriz de objetos gráficos.obj

Comportamiento del puntero, especificado como una estructura con tres campos.

Para definir las acciones específicas del puntero, establezca el valor de estos campos en identificadores de función. Si establece un campo en , no se realiza ninguna acción.[] Cuando el administrador de punteros llama a la función controla, pasa dos argumentos: el objeto de figura y la posición actual del puntero.

CampoCuando se llama
enterFcnSe llama cuando el puntero del mouse se mueve sobre el objeto.
traverseFcnSe llama una vez cuando el puntero del mouse se mueve sobre el objeto y se llama de nuevo cada vez que el mouse se mueve dentro del objeto.
exitFcnSe llama cuando el puntero del mouse sale del objeto.

Comportamiento del puntero cuando el puntero se mueve sobre el objeto, especificado como un identificador de función.

Tipos de datos: function_handle

Introducido en R2006a