C++ Embarcadero C++;生成器XE、表单顺序和表单组

C++ Embarcadero C++;生成器XE、表单顺序和表单组,c++,forms,c++builder,c++builder-xe2,C++,Forms,C++builder,C++builder Xe2,我正在Builder XE2中构建多表单应用程序,表单排序有问题 假设我使用IDE GUI创建表单,比如Form1和Form2(Form1是自动创建的),当我运行我的应用程序时,Form2总是在Form1的顶部(即使我可以访问Form1,使用它的控件等)。如果我以编程方式创建另一个表单,它的优先级与Form2相同(我可以在它们之间切换,并将它们放在前面/发送到后面),但Form1仍停留在后面 如何在不使用fsStayOnTop的情况下修复该问题,从而使项目中的每个表单都具有相同的优先级?表单顺序

我正在Builder XE2中构建多表单应用程序,表单排序有问题

假设我使用IDE GUI创建表单,比如Form1和Form2(Form1是自动创建的),当我运行我的应用程序时,Form2总是在Form1的顶部(即使我可以访问Form1,使用它的控件等)。如果我以编程方式创建另一个表单,它的优先级与Form2相同(我可以在它们之间切换,并将它们放在前面/发送到后面),但Form1仍停留在后面


如何在不使用fsStayOnTop的情况下修复该问题,从而使项目中的每个表单都具有相同的优先级?表单顺序是在哪里定义的?

请阅读
t表单的定义和属性。听起来您的主窗体被设置为辅助窗体的
poupparent

检查应用程序的dproj文件源代码。MainFormOnTaskbar:=True

这会影响主窗体(在选项…)中定义为主窗体的窗体)的ZOrder,也会导致它落后于在该应用程序中创建的其他窗体


Embarcadero会说这是“按预期工作”,尽管它与流行的主窗体/非模态子窗体应用程序(如Outlook)的工作方式不同。

是的,谢谢,我这样做了,但事实并非如此,它们在popupmode和popupparent中分别有pmNone和nothing。现在,我了解了谷歌应该做什么,我读了以下内容:winapi.freetechsecrets.com/win32/WIN32Z_Order00000014.htm,然后我做了这个(newOp是一个我想要用于操作的窗口,TOpWindow是我想要使用的模型):TOpWindow*newOp;应用程序->CreateForm(uuu classid(TOpWindow),&newOp);SetWindowPos(CryptWindow->Handle,newOp->Handle,0,0,0,SWP_NOSIZE | SWP_NOMOVE);但情况还是一样的。。。