gpt4 book ai didi

delphi - 将页面控件定义为 jvcl DockerServer.custom Dock 面板。是否可以?

转载 作者:行者123 更新时间:2023-12-02 03:17:56 26 4
gpt4 key购买 nike

enter image description here我有一个带有左侧面板的主窗体,在窗体的中心有一个页面控件。我正在尝试将其他窗体停靠在页面控件上,正如我在 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 自动“创建页面控件”当你需要的时候你:

enter image description here

请注意,页面是由对接系统创建或销毁的,管理选项卡的底层工作是由 JvDocking 库完成的,而不是由您完成。

您需要做的主要事情是使用 MainFm.pas 中的代码:

tabHost := ManualTabDock( ctrl, newDocFm1,  newDocFm2);

关于delphi - 将页面控件定义为 jvcl DockerServer.custom Dock 面板。是否可以?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9884946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com