我有两个 gui,它们是彼此的精确副本。
然而,每个 gui 中只使用了一些功能。我基本上在 GUIDE 中以两个不同的名称保存了一个整体 gui。
我将整体划分为 subguis,每个都有相同的 fig 文件,但以不同的名称保存在 GUIDE 中。
SubguiA 和 subguiB 从父 gui 上的两个按钮启动。在每个 subgui 中都有一个用户控件(一个面板),其中 'UserData' 设置为 3005。我从按钮 1 运行 subguiA。我从按钮 2 运行 subguiB 并介入并从内部询问 hpanel = findobj('UserData',3005) subguiB 上的文本框之一的 CreateFcn。我将 hpanel 作为 2x1 double 返回,因为它在内存中找到了两个这样的面板。我明白了。
因此,当我使用 hpanel 将文本框的用户数据设置为“父级”时,应用程序崩溃,因为 hpanel 应该是 1x1。我想我会在 findobj 中使用 subguiB 的句柄,以便专门将 findobj 限制为 subguiB。但是,当 subguiB 上的文本框的 CreateFcn 正在运行时,它还没有整个 subguiB 的 hObject。整个 subguiB 的 hObject 可以从 subguiB 的 OpeningFcn 中获得,它只有在其上所有用户控件的 CreateFcns 执行后才运行。
所以问题是:我如何限制 findObj 仅在 subguiB(当前正在创建?)中查找对象。谢谢