我有一个带有左侧面板的主窗体,在窗体的中心有一个页面控件。我正在尝试将其他窗体停靠在页面控件上,正如我在 Alister Christie 制作的示例中看到的那样;问题是,将表单拖入页面控件是惰性的;我发现 JVCL 对接服务器和 JVCL 对接客户端将帮助我解决这个问题。问题是我想将页面控制分配给 JVCL 对接服务器作为自定义对接面板,但我不知道该怎么做:这里是我在mainform的oncreate事件上编写的代码
procedure Tform1.FormCreate(Sender: TObject);
begin
jvdockserver1.CustomDockPanel := jvpagecontrol1;
end;
你能帮我一下吗? 忘了说了,我是一个编程新手,我正在使用Delphi XE2;
最佳答案
JVCL 对接服务器组件只能接受 PANEL 作为对接位置,可以是内置面板之一,也可以是您在设计时放置在表单上的自定义 TPanel。但是,如果您愿意,Jedi Docking 库将为您创建页面控件。但是,它必须是管理它们的那个,因为这些控件可能会被移动(由您或其他一些 jvdocking 代码)。
因此,如果您希望某些选项卡可见,则不应尝试使用自己的页面控件,而应使用 JVCL 附带的 Docking In Code Demo 作为示例,位于 文件夹中jvcl\examples\JvDocking\DockingInCode
。
这是 JvDocking 系统为您创建的选项卡,使用 CustomDockPanel
,其中自定义停靠面板附加到 TPanel,然后 JvDocking 自动“创建页面控件”当你需要的时候你:
请注意,页面是由对接系统创建或销毁的,管理选项卡的底层工作是由 JvDocking 库完成的,而不是由您完成。
您需要做的主要事情是使用 MainFm.pas 中的代码:
tabHost := ManualTabDock( ctrl, newDocFm1, newDocFm2);
关于delphi - 将页面控件定义为 jvcl DockerServer.custom Dock 面板。是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9884946/