C++ Builder에서도 Project -> Option -> Forms 에 보면 Form을 자동 생성할 것인지 동적 생성할것인지
설정하는 옵션이 있습니다.
만약 자동 생성한다면
프로젝트 이름.cpp 파일에 보면 아래와 같이 Form을 생성하는 코드가 자동으로 들어갑니다.
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
Application->CreateForm(__classid(TfrmMain), &frmMain);
....
}
자동으로 생성하지 않게 하면 위의 코드가 사라집니다.
그러면 코드 내부에서 동적으로 생성하는 코드를 넣어야겠죠...
VC++에서 MFC를 사용하는것처럼 C++ Builder에도 VCL이란것을 사용합니다.
C++ Builder의 특성을 좀더 공부하시면 금방 이해하실 겁니다.
절실한사람 님이 쓰신 글 :
: 한창 C++언어랑 C빌더에 재미를 붙여 가고 있습니다.
:
: 그런데 한가지 궁금한 점이 생겼습니다.
:
: class TForm
: {
: .....
: };
:
: TForm *Form;
:
: Form = new TForm(this); <<<<<<<<<<<<<-------이렇게 동적 생성을 해줘야 하지 않나요?
:
: 전 이렇게 클래스 포인터를 지정하면 동적 생성을 해줘야 된다고 알고 있거든요?
:
: 다른 컴포넌트도 디자인 파일에 올려 놓으면 이렇게 동적 생성을 하지 않아도 되더라구요
:
: 디자인파일에서 자동으로 생성 해줘서 그렇나요?
:
: 그리고 컴포넌트 이벤드를 걸어주면 예를 들면
: void __fastcall TForm1::Timer1Timer(TObject *Sender)
: {
: int step=10;
: }
: 같이 초기화가 가능하더라구요. 제가 아는 클래스는 생성자가 아니면 초기화가 불가능 하다고 알고 있거든요.
: 고수님들의 답변을 기다리고 있겠습니다.
|