Определить элемент управления страницы как панель подключения jvcl dockserver.custom. Является ли это возможным?
У меня есть основная форма с левой панелью, и в центре формы у меня есть элемент управления страницей... и я пытаюсь закрепить другие формы на элементе управления страницей, как я видел на примере Алистера Кристи; дело в том, что перетаскивание форм в управление страницами лениво; Я обнаружил, что док-сервер JVCL и док-клиент JVCL помогут мне в этом... дело в том, что я хочу назначить pagecontrol для док-сервера JVCL в качестве настраиваемой панели док-станции, но я не знаю, как это сделать: код, который я написал для события oncreate mainform
procedure Tform1.FormCreate(Sender: TObject);
begin
jvdockserver1.CustomDockPanel := jvpagecontrol1;
end;
не могли бы вы помочь мне? Забыл упомянуть, что я новичок в программировании и использую Delphi XE2;
1 ответ
Серверный компонент JVCL Docking может принимать PANEL только в качестве местоположения стыковки, либо одно из встроенных, либо пользовательский TPanel, который вы помещаете в форму во время разработки. Однако библиотека Jedi Docking создаст для вас элементы управления страницей, если вы этого хотите. Тем не менее, это должен быть тот, кто управляет ими, потому что эти элементы управления могут быть перемещены (вами или каким-либо другим кодом jvdocking).
Таким образом, если вы хотите, чтобы некоторые вкладки были видны, вы не должны пытаться использовать собственный элемент управления страницей, вместо этого вы должны использовать демонстрацию Docking In Code в качестве примера, который поставляется с JVCL, в папке jvcl\examples\JvDocking\DockingInCode
,
Вот как выглядят вкладки, которые система JvDocking делает для вас, используя CustomDockPanel
где настраиваемая панель док-станции присоединяется к TPanel, а затем JvDocking автоматически "создает элемент управления страницей" для вас, когда вам это нужно:
Обратите внимание, что страницы создаются или уничтожаются системой закрепления, а основная работа по управлению вкладками выполняется библиотекой JvDocking, а не вами.
Главное, что вам нужно сделать, это использовать этот код из MainFm.pas:
tabHost := ManualTabDock( ctrl, newDocFm1, newDocFm2);