Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TideSDK-将子窗口始终设置为主窗口的最上方_Javascript_Tidesdk - Fatal编程技术网

Javascript TideSDK-将子窗口始终设置为主窗口的最上方

Javascript TideSDK-将子窗口始终设置为主窗口的最上方,javascript,tidesdk,Javascript,Tidesdk,我有一个项目,其中包括创建一个可以在其他应用程序之上运行的应用程序。我的应用程序始终位于顶部,并允许与下面的应用程序进行透明交互。一切都很顺利,我已经将最上面的(true)应用到了应用程序中,并且一切正常 因为我在让窗口对话框(警报,但不是提示或确认)保持在顶部并在主窗口关闭之前取消与主窗口的交互时遇到了问题——我必须创建自己的对话框窗口。我通过创建一个子窗口,将其属性topMost设置为true,并且每当有atemp激活/聚焦主窗口时,总是重新聚焦对话框,从而成功实现了这一点 我的问题是,当需

我有一个项目,其中包括创建一个可以在其他应用程序之上运行的应用程序。我的应用程序始终位于顶部,并允许与下面的应用程序进行透明交互。一切都很顺利,我已经将最上面的(true)应用到了应用程序中,并且一切正常

因为我在让窗口对话框(警报,但不是提示或确认)保持在顶部并在主窗口关闭之前取消与主窗口的交互时遇到了问题——我必须创建自己的对话框窗口。我通过创建一个子窗口,将其属性topMost设置为true,并且每当有atemp激活/聚焦主窗口时,总是重新聚焦对话框,从而成功实现了这一点

我的问题是,当需要创建另一个窗口来充当Photoshop浮动工具窗口时。在与主应用程序和对话框进行交互时,此窗口会失去焦点并位于主窗口下方。我需要这个窗口始终保持在主窗口的顶部和对话框工具的下方,以便UX得到正确的显示

我已经设法让窗口保持在顶部,但是我在所有窗口上都使用了焦点和非焦点的傲慢,而且它变得越来越混乱

是否有人不知道如何从主窗口及其所有子窗口设置顺序

谢谢


彼得

我已经设法很快地解决了这个问题,所以这里是:

创建所有窗口(主窗口、工具窗口和对话框)时,我只使用方法createWindow上最顶层的param属性 ()

在主窗口上,我只使用tiapp.xml属性 ()

只有在工具窗口中,我才在窗口初始化(一次性执行)时调用方法settopmest(true)。这样,窗口将始终位于所有窗口的顶部

最后,对于对话框,每当用户尝试与工具或主窗口交互时,我强制聚焦

所以顺序是这样的(从上到下)

  • 对话框(xml属性位于最顶端且始终强制焦点)
  • 工具(init上的xml属性topMost和setTopMost方法)
  • 窗口(最上面的xml属性)

结果表明,之前的解决方案未正确测试。主应用程序没有将tiapp.xml定义为最顶层的值。所以我想我需要更深入地研究这个问题

:(