양식이 숨겨 지거나 비활성화 될 때의 차이점은 무엇입니까? 내 기본 양식을 숨길 때 응용 프로그램 시작과 같이 데이터베이스에 이벤트를 기록합니다. 그래서 로깅을 할 때 궁금 해서요 : 숨기기 이벤트 또는 비활성화? 양식을 비활성화하면 정확히 무엇을하고 있습니까?Delphi - 양식 비활성화
답변
OnDeactivate
은 사용자의 폼 (또는 "윈도우")이 포커스를 잃을 때 (예 : 사용자가 다른 윈도우를 선택할 때)에 실행됩니다. 당신이 Visible := False
또는
OnMinimize
또는 OnRestore
에 대한 TForm 클래스에 내장 된 더의 onEvent 방법이 없습니다 MyForm.Hide;
를 호출 할 때 OnHide
은 실행하지만 빠른 Google 검색은 그들에게 자신을 구현하는 방법에 대한 좋은 예를 얻을 것입니다.
폼이 숨겨지면 포커스도 사라집니다. 네? 따라서 제가 올바르게 이해한다면, 제 예제에서, 그것은 기본 폼을 숨기고 다른 폼을 보여주기 때문에 기본적으로 같은 것입니다. – user763539
양식을 숨겨도 반드시 초점이 사라지는 것은 아니지만 다음 양식에 초점이 맞으면 첫 번째 양식에서 초점을 잃게됩니다. – LaKraven
예, 정확히 ... 저는 Form3을하고 있습니다. MainForm.Hide; 그래서 mainform은 포커스를 잃어 버리게 될 것이므로 기본적으로 같은 경우로 비활성화 (onhide) 또는 onhide (onhide) 두 가지 경우를 모두 사용할 수 있습니까? – user763539
비활성화 란 더 이상 앞에있는 양식을 의미합니다. 이는 숨겨진 활성 양식의 결과입니다 (VCL은 다른 양식을 찾고 활성화하려고 시도합니다). 그것을 숨길 때 활성화되어 있지 않으면 f.i., 비활성화되지 않습니다. 응용 프로그램이 시작될 때이를 표시하려면 응용 프로그램 시작시 이벤트를 기록하십시오. –
나는 그것이 똑같은지 궁금해하고있다 ... 내 양식을 숨기면 비활성화되기 때문에 거기에서도 로깅을 할 수있다. 또는 아니오? 이벤트를 비활성화 할 때 테스트 했으므로 숨기기처럼 작동합니다. – user763539
물론. 그것은 똑같은 것은 아니지만 꽤 가까이에있을 것입니다. –