C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[47348] Re:폼 2개를 띄우는 법?
마제 [poporone] 1347 읽음    2006-12-08 09:05
올려주신 소스상에서 프로그램 시작시 폼을 두개를 띄우실려면...가장 간단하게 바꿀 수 있는 방법이

Project1.cpp 파일을 열어서...

                 Application->Initialize();
1 -            Application->CreateForm(__classid(TToolPalette), &ToolPalette);
2 -            Application->CreateForm(__classid(TMainForm), &MainForm);
                 Application->CreateForm(__classid(TForm3), &Form3);
                 Application->Run();

위와 같이 되어있는 부분을 1 과 2의 순서를 바꿔서
아래와 같이 고친후에 컴파일 하시면 됩니다.

                 Application->Initialize();
2 -            Application->CreateForm(__classid(TMainForm), &MainForm);
1 -            Application->CreateForm(__classid(TToolPalette), &ToolPalette);
                 Application->CreateForm(__classid(TForm3), &Form3);
                 Application->Run();




맛스타 님이 쓰신 글 :
: 어나~ 이거 땜시 하루 날렸습니다 ㅠㅠ폼2개
:
: 폼 2개 생성법(실행시 같이 뜨는 것)
: 알고있는 것 연습했을 때)
: Applicaiton만들고, 그 다음 폼하나를  더 추가 합니다.
: 이 때 기본적으로 Application으로 만들어진 폼을 Form1, 소스와헤더는 Unit1.cpp/h
: 추가한 폼을 Form2 , 소스와헤더는 Unit2.cpp/h
: Project1.bpr로 저장합니다.
: Unit1.cpp에  Unit2.h를 인클루드 시키고,
: Form1의 OnActivate이벤트핸들러에 Form2->Show();라고 하니 되더군요 됐습니다.
: 하지만 Form2에서 OnActivate이벤트핸들러를 통해 Form1->Show()는 Form2가 안뜹니다.
:
: <<책 코딩 중>>
: (제가 한것)
: 첨에 Application생성->ToolPalette폼, unit1.cpp/h
: 두번째 폼 추가 ->MainForm폼,unit2.cpp/h
: Project1.bpr로 저장.
: 문제는 제가(초보)  "가장쉽게배우는 C++볼랜드빌더5"의 프로그램을 코딩하고 있는데
: 5장 멀티미디어 그림편집기 편에서 발생했습니다.
: 책 설명이 상당히 미흡해서 원래소스를 참고 해서 만들었는데요.
: 첫번째폼(ToolPalette)을 애플리케이션으로 만들고 두번째폼을(MainForm) new->Form을 통해 만들었습니다.
: 코딩도 그럭저럭 다해서 Run했는데 두번째 폼이 죽어도 같이 안뜨는 겁니다. 첫번째폼만 뜹니다.
:
: (제가 한게 안 되서 책의 소스를 탐구)
: 책의 소스  첫번째폼을 통해 소스코드로 갔습니다. OnActivate이벤트핸들러가 없더군요.-_-;(연습대로라면있어야정상)
: 두번째 폼에 OnActivate가 있고 거기서 ToolPalette->Show();하는 겁니다.
:  >>실험한 결과..(제 나름의 -_-)
: -두번째폼의 OnActivate핸들러가 없어도 첫번째두번째폼이 다 뜹니다 (도대체 여기서 왜 첫번째것을 Show하는지?)
: -첫번째폼은 애플리케이션에서 만든 폼이라 원래 뜬다 그래도 두번째폼은 어디서 불러야 할것 아닙니까??도대체어디  서??(Show를 통해서 부르는거 아닙니까? 전체 소스에  두번째폼을 부르는 Show는 없습니다.)
:
: 결론)
: 결국 두번째 폼이 어디서 어떻게 호출되는지 찾을 길이 없어서 이렇게 글 씁니다.ㅠㅠ
: 초보라 하는데 까지 했는데 답이 안 나와서 답답한 마음에 질문 올립니다.
: 파일 첨부 했는데 관심 있으신 분은 좀 봐주시길 ㅠㅠ
: 읽어 주셔서 감사합니다.~*

+ -

관련 글 리스트
47338 폼 2개를 띄우는 법? 맛스타 1421 2006/12/07
47351     Re:폼 2개를 띄우는 법? 구리구리 1049 2006/12/08
47355         Re:Re:폼 2개를 띄우는 법? 맛스타 962 2006/12/08
47348     Re:폼 2개를 띄우는 법? 마제 1347 2006/12/08
47356         Re:Re:폼 2개를 띄우는 법? 맛스타 926 2006/12/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.