Я создал приложение, состоящее из MainForm и нескольких MDIChild Forms. Я использую AdvDockPanel и AdvToolbar из компонентов TMS. Моя основная форма имеет AdvDockPanels в верхней, нижней, левой и правой частях формы для отображения AdvToolbars.AdvToolbar из MDIChild отображается на MainForm и возможность перетащить его вокруг
Каждый MDIChild Forms содержит AdvToolbar и при создании тезисов формирует AdvToolbar.Parent установлен на AdvDockPanel на MainForm. Во-первых, AdvToolbar.Visible является False и при активации каждой формы MDIChild, которую я устанавливаю, она видима для True.
Подводя итог, при активации формы MDIChild я хочу, чтобы на панели MainForm.AdvDockPanel отображался AdvToolbar и при ее деактивации я хочу, чтобы она скрывалась.
Все это прекрасно работает, за исключением случаев, когда я пытаюсь перетащить AdvToolbar из одной AdvDockPanel в другую, пересекая середину моего MainForm, что делает мою активную форму MDIChild скрытой и вызывает эту ошибку: «Невозможно изменить Visible в OnShow или OnHide ».
Я отлаживал его и обнаружил, что это исключение возбуждено. Это в Vcl.Forms. процедура TCustomForm.CMShowingChanged (var Message: TMessage);
Итак, я хотел бы знать, есть ли способ отобразить AdvToolbar из моей активной формы MDIChild в MainForm, в то же время имея возможность перетащить мою панель инструментов в моем MainForm.
Спасибо,
- Чарльз