我正在使用包含 TMainMenu 的 Delphi 表单。在特定情况下,我想在另一个表单中显示此表单的父级和客户端对齐。这工作正常,但没有出现父窗体的主菜单。我在这个 SO question中看到一条评论,指出“子窗口不能有菜单”。我可以做些什么来覆盖此行为并显示 TMainMenu 吗?
顺便说一句:我只是注意到这一点,因为我以前使用过这个原理,我一直在使用 Developer Express 菜单组件,这很高兴以子窗体显示。
稍后编辑:使用下面 TLama 中的代码,这有效(但子菜单不是主题,我很简单):这有效:
procedure TForm65.FormShow(Sender: TObject);
begin
Winapi.Windows.SetParent(ChildForm.Handle, Handle); // <<<<<<<<
ChildForm.BorderStyle := bsNone;
ChildForm.Align := alClient;
ChildForm.Show;
end;
此代码不起作用。为什么?
procedure TForm65.FormShow(Sender: TObject);
begin
ChildForm.Parent := Self; // <<<<<<<<<
ChildForm.BorderStyle := bsNone;
ChildForm.Align := alClient;
ChildForm.Show;
end;