4
구성 요소 외부에서 마우스 클릭을 감지하는 방법은 무엇입니까? 맞춤 캘린더를 만들고 있는데 캘린더가 표시된 TLabel을 클릭하면 TCalendar가 나타납니다. 효과가 있습니다. 하지만 마우스가 구성 요소 외부에 있고 버튼을 눌렀을 때 TCalendar가 사라지길 원합니다? VCL에서는 WindowsMessages를 사용할 수 있지만 Firemonkey가 있으며 iOS에서도 사용하고 싶습니다.Delphi 10.1 Firemonkey - 구성 요소 외부에서 마우스 클릭 감지
rob
캘린더가 포커스를 잃었을 때 숨기는 것은 어떻습니까? 모든 시각적 컨트롤에는 ['OnExit'] (http://docwiki.embarcadero.com/Libraries/en/FMX.Controls.TControl.OnExit) 이벤트가 있습니다. 또는 캘린더를 표시 할 때 보호 된 ['Capture()'] (http://docwiki.embarcadero.com/Libraries/ko/FMX.Controls.TControl.Capture) 메서드를 호출하거나 ([ AutoCapture'] (http://docwiki.embarcadero.com/Libraries/en/FMX.Controls.TControl.AutoCapture) 속성을 true로 설정하여 모든 마우스 이벤트를 캡처합니다. –
OnExit은 FMX의 TCalendar에 없습니다 ... – Wojtek
앞에서 말했듯이 ** 모든 시각적 컨트롤에는 [OnExit'] (http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Controls .TControl.OnExit) 이벤트 **. 'TControl'에서 상속받습니다. 그리고'OnExit'은 분명히 [** TCalendar' **에 게시되었습니다 (http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX.Calendar.TCalendar_Events). 'FMx.Calendar.pas'에서'TCalendar'의 선언을 직접 확인해보십시오. TCalendar = class (TCustomCalendar) published ... {Events} property OnExit; ... 끝; –