|
C/C++에서는
다른 소스에 있는 클래스, 변수, 함수등을 사용하려면
사용하려는 소스의 헤더 파일(선언이 되어 있는 파일)을
포함(인클루드)해야 합니다.
C++빌더도 같습니다.
메인소스 상단의 #include 영역에
사용하려는 폼 클래스가 있는 헤더파일을 인클루드 하십시오.
빌더 단축키 (ALT + F11)를 누르셔서 헤더 파일을 선택하면
자동으로 상단에 추가됩니다.
예)
MainForm.cpp 소스에서
SubForm1.hpp에 정의된 클래스 TForm1을 사용할 경우
MainForm.cpp 소스 상단에
#include "SubForm1.hpp" // 이부분을 추가해주시면 사용 가능합니다.
도움이 되셨기를 바랍니다.
개발개발자 님이 쓰신 글 :
: void __fastcall TFormMain::FormCreate(TObject *Sender)
: {
: if(x == true){
: TForm1 *Form1 = new TForm1(Application);
: Form1->Left = 0;
: Form1->Top = 0;
: Form1->Button1->OnClick = Button1Click;
: Form1->Button2->OnClick = Button2Click;
: Form1->Show();
: }
: else{
: TForm2 *Form2= new TForm2(Application);
: this->Width = Form2->Width;
: this->Height = Form2->Height;
: Form2->Left = 0;
: Form2->Top = 0;
: Form2->Button1->OnClick = Button1Click;
: Form2->Button2->OnClick = Button2Click;
: Form2->Show();
: }
: }
: 메인폼은 위와 같구요 Form1,Form2에는 이벤트와 코딩 없이 폼에 컴포넌트들만 올려놨고 컴포넌트 위치들만 서로 다르게 해놨습니다.
: (Form1이랑 Form2랑 결과적으로 같은 기능인데 디자인만 다릅니다)
:
:
: 1. 메인의 다른 함수나 이벤트에서도 저 하위폼들의 컴포넌트를 불러서 쓰고싶은데 방법을 모르겠습니다.ㅜㅜ
: (예를 들면 메인폼에 타이머를 하나 만들구 온타이머 내에서 Form1-> 이런식으로 사용하고싶은데
: 저 OnCreate이벤트의 if문 밖에서는 Undefined symbol이라구 되네요 ㅠㅠ)
:
: 2. 프로그램이 실행되면 어차피 둘중에 하나만 실행되는거고 둘이 기능이 같은데 동적으로 코딩할수있는 방법 있을까요?
: void __fastcall TfrmLCD::FormCreate(TObject *Sender)
: {
: if(x == true){
: TForm1 *frm = new TForm1(Application);
: frm->Left = 0;
: frm->Top = 0;
: frm->Button1->OnClick = Button1Click;
: frm->Button2->OnClick = Button2Click;
: frm->Show();
: }
: else{
: TForm2 *frm= new TForm2(Application);
: frm->Left = 0;
: frm->Top = 0;
: frm->Button1->OnClick = Button1Click;
: frm->Button2->OnClick = Button2Click;
: frm->Show();
: }
: }
: 이런식으로도 해봤는데 어쨋든 이 if문 밖에서는 frm을 끌어다가 쓸수가 없더군요 ㅠㅠ
:
:
:
:
:
|