Turning HitTest off for imrect

조회 수: 5 (최근 30일)
Stephen
Stephen 2014년 7월 15일
답변: Brian 2023년 1월 16일
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?

채택된 답변

Sean de Wolski
Sean de Wolski 2014년 7월 15일
편집: Sean de Wolski 2014년 7월 15일
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
Ben11
Ben11 2014년 7월 15일
That's good to know Sean thanks!
Stephen
Stephen 2014년 7월 15일
Thank you, that worked very well!

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Ben11
Ben11 2014년 7월 15일
편집: Ben11 2014년 7월 15일
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')))
Thanks to Matt Fig who provided the idea here
I tried with a simple code and 2 rectangles and it worked well.
  댓글 수: 4
Stephen
Stephen 2014년 7월 15일
Very happy to have the help! Any suggestions are mana when stuck
Ben11
Ben11 2014년 7월 15일
Yep! I learned something with Sean's answer ; I did not know the trick to get the Children of imrect that's nice.

댓글을 달려면 로그인하십시오.


Brian
Brian 2023년 1월 16일
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')

카테고리

Help CenterFile Exchange에서 Interactive Control and Callbacks에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by