Ich habe eine Anwendung, wo es ein Haupt-Hintergrund-Formular, von dort Benutzer kann nur nicht-modale Formulare, die verschiedenen Teil des Systems unterhält. Die nicht-modale Formulare überschreibt die CreateParams-Methode, so dass jeder eine Schaltfläche in der Start-Taskleiste anzeigt:
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;
So kann ein Benutzer ein nicht-modales Formular öffnen, das "Äpfel" verwaltet, ein anderes nicht-modales Formular, das "Orangen" verwaltet, und die Startmenüleiste verwenden, um einfach zwischen beiden zu wechseln.
Wenn sie jedoch ein modales Formular vom "Apfel"-Formular aus öffnen, z. B. um Optionen, Einstellungen usw. festzulegen, können sie die "Orangen"-Formulare nicht verwenden, bis sie das modale Formular schließen.
Ist es möglich, ein modales Formular nur für das übergeordnete Formular modal zu machen? Wenn sie also das Optionsformular von Apple öffnen, können sie das Wartungsformular von Apple nicht verwenden, aber sie können das Wartungsformular von Orangen verwenden?