Hallo,
ich möchte bei meiner Anwendung die dynamisch erzeugten Unter-Forms immer im Vordergrund haben, z.B. auch wenn das Mainform versteckt ist. Wobei das nicht sooo wichtig währe.
Die UnterForms erzeuge ich so
tform2.Create(self));
Das sind dann halt so ein paar Formulare mit wichtigem Zeug drin, was nicht in den BG soll.
Jetzt habe ich natürlich schon das Internet totgesucht und das gefunden:
Delphi-Quellcode:
with Self
do {Form1,...}
SetWindowPos(
Handle,
// handle to window
HWND_TOPMOST,
// placement-order handle {*}
Left,
// horizontal position
Top,
// vertical position
Width,
Height,
// window-positioning options
SWP_NOACTIVATE
or SWP_NOMOVE
or SWP_NOSIZE);
Klingt gut, oder? Ist es aber nur bedingt.
Denn da sind die Fenster dann zwar hübsch im Vordergrund, aber sobald ich einem davon den Focus gebe und dann ne andere Anwendung davorschiebe bzw. in den Vordergrund hole, sind die wieder brav in der "2. Reihe" und von StayOnTop (habe ich auch in den FormStyles drin) und so ist nix mehr zu sehen.
Was kann man da machen?
Die Fenster brauchen ansich fast nie Fokus, aber onTop sollten sie sein (nur anzeigenede Fkt.)
grüße
flo