2009-11-09 2 views
0

TForm의 자손의 기본 동작 표시를 변경하고 싶습니다. 예를 들어 화면에 자신을 표시하는 대신 페이지에 배치하고 싶습니다. 새 탭 시트로 제어). 어떻게 보관할 수 있습니까? SetVisible 메서드를 재정의하려고 표준 메서드 (Show 메서드 호출 또는 Visible 속성 설정)를 사용하여 표시하고 싶습니다. 하지만 SetVisible은 개인 메서드이기 때문에 재정의 할 수 없다는 것을 알았습니다. 대체 할 제안이 있습니까? 감사.TForm의 자손의 기본 동작 표시/SetVisible (Delphi VCL)

답변

1

보호 된 TCustomForm.VisibleChanging을 재정의 할 수 있습니다.

+0

예 작품입니다. 폼의 Visible 속성이 변경되기 전에 추가 코드를 삽입하기에 완벽한 장소입니다. (필자는 VisibleChanging을 보았지만 TForm의 자손을 오버라이드하는 동안 TControl의 표시/숨기기 메커니즘의 일부로 생각했기 때문에 VisibleChanging을 만지는 것을 조금 싫어했습니다.) 감사합니다. 당신은 나를 그렇게 확신하고 완벽하게 작동합니다, rgds Hasan S. –

0

패널에 양식을 포함 시키거나 묻는 것으로 묻는 것 중 두 가지 방법이 있습니다. TForm.CreateParented (handle) 함수가 있지만 우리 코드에서는이를 사용하지 않는 경향이 있습니다. 대신 다음과 같은 종류의 코드로 양식을 만듭니다.

MyForm := TMyForm.Create(Self); 
MyForm.Parent := MyTabSheet; 
MyForm.Border := bsNone; 
MyForm.Align := alClient; 
MyForm.Show;