Thema: Delphi Problem: SetWindowPos

Einzelnen Beitrag anzeigen

Aike

Registriert seit: 2. Okt 2004
319 Beiträge
 
#10

Re: Problem: SetWindowPos

  Alt 10. Mai 2007, 13:00
Wenn du aus dem Hauptformular ein Fenster mit "ShowModal" aufrufst, ist das im Vordergrund und kein anderes Fenster lässt sich anklicken (von deinem Programm). Show zeigt nur einfach das andere Formular, lässt aber Klicks auf andere Formularfenster zu.

Ich benutze für das "In den Vordergrund setzen" (bzw. in den Hintergrund) diese Prozeduren:
Delphi-Quellcode:
procedure SetWindowPosToFront(handle:HWND);
begin
  SetWindowPos(Handle,HWND_TOPMOST,0,0,0,0,SWP_NOMOVE or SWP_NOSIZE);
end;

procedure SetWindowPosToBack(handle:HWND);
begin
  SetWindowPos(Handle,HWND_NOTOPMOST,0,0,0,0,SWP_NOACTIVATE or SWP_NOMOVE or SWP_NOSIZE);
end;

//Aufruf:
procedure TForm1.Button1Click(Sender: TObject);
begin
  SetWindowPosToFront(self.Handle); //Setzt die Form1 in den Vordergrund
  SetWindowPosToBack(self.Handle); //Setzt die Form1 in den Hintergrund
end;
Achim
  Mit Zitat antworten Zitat