델파이 기초 다지기

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

폼 다루기

폼 다루기

애플리케이션의 가장 기본적인 윈도우. 한개의 폼은 한개의 화면. 다른 컴포넌트를 올릴 수 있는 컨테이너 역할.

프로젝트에 폼 추가

  • 메인메뉴 : File > New > Vcl Form
  • 툴바 : New items 아이콘 > Vcl Form
  • Project Manager :  프로젝트 우측 마우스 버튼 > Add New > Vcl Form

폼 관리

  • Project > Options > Forms
  • Auto-create forms - 자동 생성 폼
  • Avaliable forms - 생성 가능한 폼(수동 생성 폼)

폼 동적 생성

var
  폼변수: 폼클래스타입;
  Form1: TForm1;
begin
  폼인스턴스변수 := 폼클래스타입.Create(소유자);

  // case #1 - 소유자 지정
  Form1 := TForm1.Create(Application);
  Form2 := TForm2.Create(Form1);
  Form3 := TForm3.Create(Self);
  Form4 := TForm4.Create(nil);
  
  // case #2 - Application 객체이용, Application.MainForm 지정
  Application.CreateForm(TForm1, Form1);
end;
  • Owner(소유자) - 소유자 해제 시 피 소유자 해제
  • 소유자 미지정(nil) 시 직접 폼 인스턴스를 해제(Free)해야 함
  • 프로젝트 소스코드에서 Application.CreateForm 방식 사용

폼 표시 및 해제

  • ShowModal - 모달 폼 표시(새 폼에 제어권 전달, 새 폼만 활성화)
  • Show - 모달리스 폼 표시(새 폼과 메인 폼 모두 활성)
모달리스 폼 표시/해제

메인 폼과 새 폼 모두 활성. 폼을 닫을때 메모리 해제 주의할 것.

begin
  Form2 := TForm2.Create(Self);
  Form2.Show;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := caFree; // caNone, caHide, caFree, caMinimize
  Form2 := nil;
end;
모달 폼 표시/해제
  Form1 := TForm1.Create(nil);
  Form1.ShowModal;

  Form1.Free;
  • 봤어요 (0명)

댓글

댓글 본문
  1. jeongho
    이렇게 도움되는 강의를 이제야 찾았네요 강의 잘 봤습니다! 혹시 심화나 데이터베이스 강의는 업로드 안하시는건가요? 강의해주시면 큰 도움일 될것같아서요ㅜㅜ
버전 관리
험프리
현재 버전
선택 버전
graphittie 자세히 보기