определить элемент управления страницы как панель подключения jvcl dockserver.custom.Является ли это возможным? - PullRequest
2 голосов
/ 27 марта 2012

enter image description here У меня есть основная форма с левой панелью, и в центре формы у меня есть элемент управления страницей ... и я пытаюсь закрепить другие формы на элементе управления страницей, как я видел на примере, сделанномАлистер Кристи;дело в том, что перетаскивание форм в управление страницами лениво;Я обнаружил, что док-сервер JVCL и док-клиент JVCL помогут мне в этом ... дело в том, что я хочу назначить pagecontrol для док-сервера JVCL в качестве настраиваемой панели док-станции, но я не знаю, как это сделать:код, который я написал для события oncreate mainform

procedure Tform1.FormCreate(Sender: TObject);  
begin  
  jvdockserver1.CustomDockPanel := jvpagecontrol1;  
end;  

не могли бы вы мне помочь?Забыл упомянуть, что я новичок в программировании и использую Delphi XE2;

1 Ответ

0 голосов
/ 27 марта 2012

Компонент стыковочного сервера JVCL может принимать PANEL только в качестве места для стыковки, либо один из встроенных, либо пользовательский TPanel, который вы помещаете в форму во время разработки. Однако библиотека Jedi Docking создаст для вас элементы управления страницей, если вы этого хотите. Тем не менее, это должен быть тот, кто управляет ими, потому что эти элементы управления могут быть перемещены (вами или каким-либо другим кодом jvdocking).

Итак, если вы хотите, чтобы некоторые вкладки были видны, вам не следует пытаться использовать собственный элемент управления страницей, вместо этого вы должны использовать демонстрацию Docking In Code в качестве примера, который поставляется с JVCL, в папке jvcl\examples\JvDocking\DockingInCode .

Вот как выглядят вкладки, которые делает для вас система JvDocking, используя CustomDockPanel, где настраиваемая панель док-станции прикреплена к TPanel, а затем JvDocking автоматически «создает элемент управления страницей» для вас, когда вам это нужно. :

enter image description here

Обратите внимание, что страницы создаются или уничтожаются системой закрепления, а основная работа по управлению вкладками выполняется библиотекой JvDocking, а не вами.

Главное, что вам нужно сделать, это использовать этот код из MainFm.pas:

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