Ich habe eine Anwendung, wo es einen Haupthintergrund Formular gibt, von dort Benutzer kann nur nicht-modale Formen, die verschiedene Teil des Systems verwaltet. Die nicht-modalen Formen überschreibt die CreateParams Verfahren so jeweils eine Taste in der Bar Startaufgabe zeigt:Delphi, ist es möglich, eine Form nur für bestimmte Elternform zu machen?
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;
tatsächlich ein Benutzer eine nicht modale Form öffnen können, die ‚Äpfel‘, ein weiteres nicht-modal beibehält Form, die "Orangen" unterhält, und verwenden Sie die Startmenüleiste, um einfach zwischen den beiden zu wechseln.
Wenn sie jedoch ein modales Formular aus dem Formular "Äpfel" öffnen, z. um Optionen, Voreinstellungen usw. festzulegen, können sie die Formulare "Orangen" erst verwenden, wenn sie das modale Formular geschlossen haben.
Ist es möglich, ein modales Formular modal nur zum übergeordneten Formular zu machen? Wenn sie also das Optionsformular von Apple öffnen, können sie das Wartungsformular für Äpfel nicht verwenden, können aber weiterhin das Wartungsformular für Orangen verwenden.
Dank
Bei der Verwendung der VCL ist dies nicht möglich. Sie kann nur von einem Thread verwendet werden, wenn GUI-Dateien erstellt werden. – mghie
True, aber dann hat jede DLL ihre eigene Kopie der gesamten VCL und ihr eigenes Application-Objekt. IMO, das ist kaum besser, als mit anderen ausführbaren Dateien zu arbeiten. – mghie
Ich weiß jetzt nicht, warum Robo die Dinge so haben will, wie er sie beschreibt. Er fragt, ob es möglich ist, und ich sage es. Sie sagen, es ist nicht, ich sage, du liegst falsch ... – Vegar