我正在创建一个表单的新实例,并尝试将其显示为来自PANEL的子项。但这种形式似乎并不可用。我的意思是我无法编辑任何文本框。但是还有其他控件,例如似乎可点击的树和按钮。
以下是代码:
procedure TForm1.ProcfrmSetupItemCategories;
var
NewForm: TfrmSetupItemCategories;
begin
NewForm:=TfrmSetupItemCategories.Create(BodyPanel);
NewForm.Parent := BodyPanel;
NewForm.Top:=5;
NewForm.Left:=5;
NewForm.Show;
end;
但是,如果我删除该行NewForm.Parent := BodyPanel;
,该表单是可编辑的,但它不在父表单/ Panel中。
同时设置父级时,子表单不活动(查看标题栏)
我错过了什么吗?请指教。 谢谢!
答案 0 :(得分:0)
表格需要是其他表格或TApplication的孩子。 TPanel不知道如何管理表单,因此您的表单不会被激活,其组件将无法获得焦点。
相反,您可以使用普通表单并编写一个过程来对齐表单。现在为主窗体添加一个计时器,并从ontimer事件中调用对齐过程。当用户移动或调整主窗体的大小时,其他窗体会重新对齐。
戴夫彼得斯 DP软件