Forum: Object-Pascal / Delphi-Language
Delphi
by Dalai,
14. Mai 2020
OK, nachdem ich wieder etwas Luft habe, hab mir das jetzt im Detail angeschaut. Leider musste ich an mehreren Stellen drehen, um einige Nebeneffekte zu unterbinden.
Wenn man die Fenster immer OnTop setzen will, dann mag das besser sein. Wenn man dem Nutzer die Wahl lassen will, ist das ungeeignet, denn CreateWnd wird vor dem FormCreate gefeuert, so dass man gar keine Möglichtkeit hat, etwas...
Forum: Object-Pascal / Delphi-Language
Delphi
by Dalai,
9. Mai 2020
Wie ich bereits schrieb, ist mir das "Highlander-Prinzip" in diesem Fall bekannt. Ist das Problem denn mit meinem Testprogramm nachvollziehbar, wenn die beiden Formulare nebeneinander positioniert sind? Denn wie gesagt interessiert mich nicht, ob Formular 2 der Anwendung über Formular 1 derselben Anwendung liegt, denn das passiert nicht und das teste ich auch nicht. Wichtig für mich ist...
Forum: Object-Pascal / Delphi-Language
Delphi
by Dalai,
8. Mai 2020
Vielleicht ist auch noch wichtig, wie das Umschalten zwischen Programmen erfolgt. Getestet hab ich per Maus und Alt+Tab. Letzteres funktioniert etwas besser, aber die eigentliche Anwendung wird eher per Maus benutzt werden, und beim Umschalten damit bleiben die Fenster fast nie im Vordergrund.
Grüße
Dalai
Forum: Object-Pascal / Delphi-Language
Delphi
by Dalai,
8. Mai 2020
Über FormStyle hatte ich auch schon nachgedacht, aber ich meine mich zu erinnern, dass es damit irgendeinen Ärger gab. Dennoch habe ich es gerade im Testprojekt ausprobiert und stelle fest, dass das ähnlich unzuverlässig funktioniert, egal ob das Property per Code oder Objektinspektor gesetzt wird. Manchmal bleiben beide Forms OnTop, manchmal gar keine, manchmal nur die zweite. Offenbar hängt das...
Forum: Object-Pascal / Delphi-Language
Delphi
by Dalai,
8. Mai 2020
Ein freundliches Hallo an die Experten :).
Bislang setze ich Formulare OnTop mit der folgenden Funktion:procedure AlwaysOnTop(AOnTop: Boolean; const AFormHandle: THandle);
begin
if AOnTop then
SetWindowPos(AFormHandle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE)
else
SetWindowPos(AFormHandle, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE or...