MainForm と複数の MDIChild Form で構成されるアプリケーションを作成しました。TMS のコンポーネントの AdvDockPanel と AdvToolbar を使用しています。私のメインフォームには、フォームの上部、下部、左側、右側に AdvDockPanels があり、AdvToolbars を表示します。
各 MDIChild フォームには AdvToolbar が含まれており、これらのフォームの作成時に、AdvToolbar.Parent が MainForm の AdvDockPanel に設定されます。最初は、AdvToolbar.Visible は False で、各 MDIChild フォームのアクティブ化時に、visibilty を True に設定しています。
要約すると、MDIChild フォームをアクティブ化すると、AdvToolbar が MainForm.AdvDockPanel に表示され、非アクティブ化すると非表示になります。
これはすべて正常に機能しますが、AdvToolbar を 1 つの AdvDockPanel から別の AdvDockPanel にドラッグしようとすると、アクティブな MDIChild フォームが非表示になり、「OnShow または OnHide で Visible を変更できません」というエラーが発生します。
私はそれをデバッグし、この例外が発生する場所を見つけました。Vcl.Forms にあります。procedure TCustomForm.CMShowingChanged(var Message: TMessage);
したがって、MainForm でアクティブな MDIChild フォームから AdvToolbar を表示する方法があるかどうかを知りたいのですが、MainForm でツールバーをドラッグすることができます。
ありがとう、
- チャールズ