![]() |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Zitat:
Worauf der Benutzer klickt, soll im Grunde egal sein (allerdings soll der OnClick-Event der Controls, was er anklickt nicht ausgeführt werden). Sobald dieser Klick außer halb der Form ist, will ich irgendwas..ein Event, eine Message, damit ich darauf überhaupt reagieren kann. |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Hallo,
etwa so
Delphi-Quellcode:
Das ganze noch mit einer Boolean-Variable, die im OnKeyDown (KeyPreview=True) des 1. Forms prüft,
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; ob das semimodale 1. Form gerade läuft und dann in diesem Fall GibFormFrei aufruft |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Ich habe das mal so versucht:
Delphi-Quellcode:
Funktioniert schon mal wie gewünscht....aber nur beim ersten Mouseklick. Wird dieser innerhalb der modalen Form gemacht, wird WM_CAPTURECHANGED nicht mehr gefeuert.!?
procedure TModaleForm.WMCapturechanged(var Message: TMessage); //message WM_CAPTURECHANGED;
var mp: TPoint; begin if GetCursorPos(mp) then begin if not (PtInRect(Self.BoundsRect, mp)) then self.Close; end; inherited; end; Gibt es eigentlich eine Gegenstückt zu WM_CAPTURECHANGED? |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
Zitat:
Und was ist CreateStateForm? Ich kenn nur CreateForm. |
AW: Modales Fenster per Klick auf aufrufende Form schließen lassen
CreateStateForm = TSemiForm.Create
Ich hatte es aus einem alten Projekt rauskopiert und das dort vergessen, u ersetzen |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz