Turning HitTest off for imrect
12 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Stephen
el 15 de Jul. de 2014
Respondida: Brian
el 16 de En. de 2023
I have been trying to turn the HitTest property off for an imrect object, such that I can click on objects behind it. However, a simple "set(imrectHan,'HitTest','off');" does not do the trick. Does anyone know how to solve this?
0 comentarios
Respuesta aceptada
Sean de Wolski
el 15 de Jul. de 2014
Editada: Sean de Wolski
el 15 de Jul. de 2014
The imrect is built from low-level lines and patches so turn the imrect's Children's 'HitTest' off.
h = imrect
set(get(h,'Children'),'HitTest','off')
2 comentarios
Más respuestas (2)
Ben11
el 15 de Jul. de 2014
Editada: Ben11
el 15 de Jul. de 2014
What if you inverse the order of Children in your axes? Basically you would send the rectangle at the "back" of the current axis so you could play around with other elements. When you're done you can switch back. It might not be perfect but I think it would work; from the Matlab doc imrect does not have a HitTest property so maybe that's why using it does not work.
Example code to flip the order of the axes children:
set(gca,'children',flipud(get(gca,'children')))
I tried with a simple code and 2 rectangles and it worked well.
4 comentarios
Ben11
el 15 de Jul. de 2014
Yep! I learned something with Sean's answer ; I did not know the trick to get the Children of imrect that's nice.
Brian
el 16 de En. de 2023
NOTE: I created an image in a UIAxes using imagesc:
app.My_image_handle = imagesc(app.UWBAxes, app.UWBdata);
In that case I do NOT set the HitTest property of children of the image handle. Rather I set it directly on the image handle:
set(app.My_image_handle,'HitTest','off')
0 comentarios
Ver también
Categorías
Más información sobre Interactive Control and Callbacks en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!