꽃접목, 델피의 메인 창 이동.
Form1(Unit1.pas) 및 Form2(unit2.pas)입니다.Form1은 기본 홈 창입니다.프로젝트 파일에서Form2 생성 코드를 삭제합니다.Form2를 동적으로 만들 계획입니다.
우리 코드의 목적은 Form1을 없애고 Form2를 만들고 Form2를 주 창으로 바꾸는 것입니다.Form2가 닫히면 프로그램이 종료됩니다.
Form1에 버튼을 놓습니다.위 코드:
uses Unit2;
{ Application FMainForm , }
procedure ClearMainForm;
var
pMainForm: Pointer;
begin
pMainForm := @Application.MainForm;
Pointer(pMainForm^) := nil;
end;
{ }
procedure TForm1.btn1Click(Sender: TObject);
begin
Form1.Hide; { }
ClearMainForm; { Applicaiton }
Application.CreateForm(TForm2, Form2); { Form2 }
Form2.Show; { Form2, }
Form1.Destroy; { Form1, , Form1 。 Form2 , Form2 }
end;
{
Application.CreateForm(TForm2, Form2);
Form2
Application.CreateForm 。
Application.CreateForm , FMainForm nil, nil, , Form2 。
Delphi2010 / DelphiXE
Forms.pas
procedure TApplication.CreateForm(InstanceClass: TComponentClass; var Reference);
9869 FCreatingMainForm := (FMainForm = nil) and InstanceClass.InheritsFrom(TForm); FCreatingMainForm True ,
3172 TCustomForm.Create , True , Application.CreateForm(TForm2, Form2); 。
9886 if (FMainForm = nil) and (Instance is TForm) then , FMainForm nil , True
9889 FMainForm := TForm(Instance);
TApplication.CreateForm
}
VCL의 코드는 잘 연구할 만하다.다음 편에서는 VCL의 메커니즘을 이용하여 컨트롤 핸들을 통해 컨트롤 실례를 얻겠습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.