|
어나~ 이거 땜시 하루 날렸습니다 ㅠㅠ폼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는 없습니다.)
결론)
결국 두번째 폼이 어디서 어떻게 호출되는지 찾을 길이 없어서 이렇게 글 씁니다.ㅠㅠ
초보라 하는데 까지 했는데 답이 안 나와서 답답한 마음에 질문 올립니다.
파일 첨부 했는데 관심 있으신 분은 좀 봐주시길 ㅠㅠ
읽어 주셔서 감사합니다.~*
|