Thema: Delphi Problem: SetWindowPos

Einzelnen Beitrag anzeigen

Z32
(Gast)

n/a Beiträge
 
#1

Problem: SetWindowPos

  Alt 7. Mai 2007, 14:55
Hallo,

Ich habe ein Problem mit der Formstyle bei meinem Project. Und zwar möchte ich nur, dass man in einem extra Fenster in meinem Programm die Einstellung vornehmen kann: "Fenster immer im Vordergrund" oder "Fenster Normal". Dazu benutze ich eine Checkbox.

Der Code für die Checkbox sieht so aus und liegt auf dem "Übernehmen" Button:

Delphi-Quellcode:
if checkbox1.checked=true then
begin
  SetWindowPos(Form1.Handle ,HWND_TOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
  showmessage('Die Anwendung ist nun im Vordergrund');
end
else
begin
  SetWindowPos(Form1.Handle ,HWND_NOTOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
  showmessage('Die Anwendung ist nun wieder im Hintergrund');
end;
So, jetzt zu meinem Problem.
Ich kann meine Anwendung in den Vordergrund bringen, das klappt. Aber wenn ich den Haken wieder aus der Checkbox rausnehme, geht die Anwednung nicht wieder in den Hintergrund zurück. Besser gesagt, die Anwednung geht nur solange in den Hintergrund, wie das Einstellungsfenster offen ist. Sobald ich das Einstellungsfenster wieder schließe, geht die Anwednung wieder in den Vordergrund.

Ich habe den Code schon hudertmal durchgeguckt, ich finde keine Stelle die sowas verursachen könnte. Außerdem kann ich meine Anwednung ja in den Vordergrund bringen, und das Einstellungsfesnter dann schließen, ohne dass die Anwendung wieder in den Hintergrund geht.

Was stimmt da nicht
  Mit Zitat antworten Zitat