Einzelnen Beitrag anzeigen

Hobbycoder

Registriert seit: 22. Feb 2017
955 Beiträge
 
#14

AW: Modales Fenster per Klick auf aufrufende Form schließen lassen

  Alt 12. Okt 2018, 14:13
Hallo,
etwa so

Delphi-Quellcode:
var
  Form : TFormSemi;
  WindowList : Pointer;

procedure ErzeugeForm
begin
  Form:= CreateStateForm(theCaption, theInfo);
  WindowList:= DisableTaskWindows(Form.Handle);
  Form.Show;
  Application.ProcessMessages;

  // hier geht es im 1. Form ganz normale weiter

end;


procedure GibFormFrei
  Form.FCanClose := True;
  EnableTaskWindows(WindowList);
  Form.Free;
Das ganze noch mit einer Boolean-Variable, die im OnKeyDown (KeyPreview=True) des 1. Forms prüft,
ob das semimodale 1. Form gerade läuft und dann in diesem Fall GibFormFrei aufruft
Hm...muss ich mal probieren. Aber das würde nicht verhindern, dass ein Control der 1. Form angeklickt wird. Das könnte ich in OnMouseDown ja noch regeln.
Und was ist CreateStateForm? Ich kenn nur CreateForm.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat