我有一个应用程序,其中有一个主背景表单,用户只能从那里维护系统不同部分的非模态表单。非模态表单会覆盖 CreateParams 方法,因此每个表单都会在开始任务栏中显示一个按钮:
procedure TfmMaterialsPlanning.CreateParams(var Params: TCreateParams);
begin
inherited;
//create a new window on the task bar when this form is created
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
end;
实际上,用户可以打开一个维护“Apples”的非模态表单,另一个维护“Oranges”的非模态表单,并使用开始菜单栏在两者之间轻松切换。
但是,如果他们从“Apples”表单打开一个模态表单,例如设置选项、偏好等,那么他们在关闭该模态表单之前不能使用“Oranges”表单。
是否可以仅将模态表单模态到父表单?那么如果他们打开苹果的选项表,他们就不能使用苹果的维护表,但仍然可以使用橙子的维护表?