覆盖默认显示TForm的后代的行为/ SetVisible(德尔福VCL)
我想改变一个TForm的后代的显示默认行为(例如,而不是在屏幕上显示自己,我想把它放在一个页面上控制为新的标签页)。 如何实现这一目标? 我想使用标准方法显示它(调用Show方法或设置Visible属性),所以我试图覆盖SetVisible方法。但是我发现SetVisible不能被重写,因为它是一个私有方法。 任何建议在哪里可以覆盖它?谢谢。覆盖默认显示TForm的后代的行为/ SetVisible(德尔福VCL)
回答:
您可以覆盖受保护的TCustomForm.VisibleChanging。
回答:
有两种方法可以完成我认为您所要求的功能,即在表格中嵌入窗体或类似窗体。有一个TForm.CreateParented(句柄)函数,但在我们的代码中,我们倾向于不使用它。相反,我们使用这种代码创建表单:
MyForm := TMyForm.Create(Self); MyForm.Parent := MyTabSheet;
MyForm.Border := bsNone;
MyForm.Align := alClient;
MyForm.Show;
以上是 覆盖默认显示TForm的后代的行为/ SetVisible(德尔福VCL) 的全部内容, 来源链接: utcz.com/qa/263882.html