Einzelnen Beitrag anzeigen

Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Hauptformular ausblende beim wechsel auf ein anderes Form ?

  Alt 24. Jul 2020, 12:48
Habe mir vor ein paar Jahren dafür zwei kleine Prozeduren gebastelt:
Delphi-Quellcode:
procedure ShowFormOnTaskbar(Form : TForm);
var
  WindowStyle : LONG_PTR;
begin
  WindowStyle := GetWindowLongPtr(Form.Handle, GWL_EXSTYLE);
  if (WindowStyle and WS_EX_APPWINDOW) <> WS_EX_APPWINDOW then
  begin
    SetWindowLongPtr(Form.Handle, GWL_EXSTYLE, WindowStyle or WS_EX_APPWINDOW);
  end;
end;

procedure HideFormFromTaskbar(Form : TForm);
var
  WindowStyle : LONG_PTR;
begin
  WindowStyle := GetWindowLongPtr(Form.Handle, GWL_EXSTYLE);
  if (WindowStyle and WS_EX_APPWINDOW) = WS_EX_APPWINDOW then
  begin
    SetWindowLongPtr(Form.Handle, GWL_EXSTYLE, WindowStyle xor WS_EX_APPWINDOW);
  end;
end;
Zur Sicherheit kann man vielleicht noch prüfen, ob die Form assigned ist, bevor man damit hantiert.
Aber eine kleine Warnung noch:
Wenn die Anwendung dann im aktuellen Fenster ungünstig abschmiert, kommt man evtl. nicht mehr ins vorherige Fenster zurück, da es ja nicht mehr sichtbar ist.
Peter
  Mit Zitat antworten Zitat