Полагаю, если бы uicontrol был прямым потомком фигуры, вы могли бы поставить его перед всем.
Гораздо более простым решением является использование одного и того же обратного вызова для нескольких uicontrols.В редакторе свойств вы можете изменить имя обратного вызова и установить его для общей функции обратного вызова.Кроме того, вы можете создать поле (например, myPopupH
) в OpeningFcn
графического интерфейса, в котором вы храните дескрипторы всплывающих окон, которые должны вести себя так же.Затем в обратном вызове вы будете использовать hObject
, то есть первый входной аргумент, для всех вызовов get
(чтобы получить доступ к измененному состоянию всплывающего меню), но вы будете использовать handles.myPopupH
во всехвызовы set
, так что вы можете убедиться, что оба всплывающих окна всегда имеют одинаковое состояние.Таким образом, ui-объект может быть избыточным, но весь код (что гораздо важнее) существует только в одной копии.
Единственное место, где я обычно использую один обратный вызов для нескольких элементов пользовательского интерфейса, - это закрытие.Функция запроса, доступ к которой осуществляется из кнопки «Отмена», а также из «X», закрывающего фигуру, и, возможно, из одного из элементов меню «Файл».