Wie erkennt man den Mausklick außerhalb der Komponente? Ich mache einen benutzerdefinierten Kalender und wenn ich auf das TLabel mit dem präsentierten Datum klicke, erscheint der TCalendar. Es funktioniert. Aber ich möchte den TCalendar verschwinden lassen, wenn sich die Maus außerhalb der Komponente befindet und die Taste gedrückt wird? In VCL kann ich die WindowsMessages verwenden, aber es gibt einen Firemonkey und ich möchte ihn auch bei iOS verwenden.Delphi 10.1 Firemonkey - Erkennen des Mausklicks außerhalb der Komponente
BR
Was ist mit dem Verstecken des Kalenders, wenn er den Fokus verliert? Alle visuellen Steuerelemente verfügen über ein Ereignis "OnExit" (http://docwiki.embarcadero.com/Libraries/en/FMX.Controls.TControl.OnExit). Alternativ können Sie beim Anzeigen des Kalenders versuchen, die geschützte Methode ['Capture()'] (http://docwiki.embarcadero.com/Libraries/en/FMX.Controls.TControl.Capture) aufzurufen (oder dessen [' AutoCapture "] (http://docwiki.embarcadero.com/Libraries/en/FMX.Controls.TControl.AutoCapture) Eigenschaft auf true), so dass alle Mausereignisse erfasst werden. –
OnExit existiert nicht in FMX TCalendar ... – Wojtek
Wie ich bereits sagte, ** alle visuellen Steuerelemente haben eine ['OnExit'] (http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Controls .TControl.OnExit) Ereignis **. Es wird von 'TControl' übernommen. Und "OnExit" ist definitiv [** veröffentlicht in 'TCalendar' **] (http://docwiki.embarcadero.com/Libraries/Berlin/de/FMX.Calendar.TCalendar_Events). Überprüfen Sie die Deklaration von 'TCalendar' in' FMX.Calendar.pas' für sich selbst. Sie werden sehen, dass dies der Fall ist: 'TCalendar = Klasse (TCustomCalendar) veröffentlicht ... {Events} Eigenschaft OnExit; ... Ende; ' –