|
정말 감사드립니다.
그런데, 3의 방법으로 B를 띄우면 또 Acess violation error가 나서
3. 버튼을 누를때 자식폼을 만드는 것(폼 A에서 자식폼 B를 만드는 코드..)은
:
: TB *Child = new TB(Application); //B는 폼 B의 이름(Name)
다음과 같이 했더니 잘됩니다.
Application->CreateForm(__classid(TB), &B);
B->WindowState=wsNormal;
B->Show();
감사합니다.
정성훈.해미 님이 쓰신 글 :
: 부모폼 A와 자식폼 B가 있다면..
:
: 일단, 부모폼이 처음 뜰때는 자식폼이 하나도 없는게 정석일듯..
:
: 1. 프로잭트옵션에서 Auto-create forms에 있는 B폼을 Available forms(오른쪽 칸)로 옮기고..
:
: 2. B의 헤더를 A에 포함시킨다.
: 직접 A의ㅣ소스상단에 #include "B.h" 하는 방법과
: A가 선택된 상태에서..메뉴 File->Include Unit Hdr...로 해도 되고..
:
: 3. 버튼을 누를때 자식폼을 만드는 것(폼 A에서 자식폼 B를 만드는 코드..)은
:
: TB *Child = new TB(Application); //B는 폼 B의 이름(Name)
:
: // 이렇게 하면 폼 B와 똑같은 모양의 자식폼이 생깁니다..
: // 버튼을 계속 누르면..누른만큼 만들어짐.
:
: 4. 폼 B의 OnClose(닫기이벤트)에
:
: Action = caFree; // 이것은 아래 개발자님이 올리신 내용(중복)
:
: ....끝
:
:
:
:
: 김용수 님이 쓰신 글 :
: :
: : A라는 폼내에서 B라는 폼을 띄우기 위해
: : ( 예를 들어서 워드 프로그램과 같이 전체 프로그램에
: : 해당하는 폼이 있고 New를 누르면 새로운 에디터(폼)이 뜨는 것처럼)
: :
: : A의 FormStyle을 fsMDIForm로,
: : B의 FormStyle을 fsMDIChild로하니
: : 프로그램 실행 부터 A내에 B가 뜨게 됩니다.
: : 그리고 B 폼을 없애고 싶어도 삭제가 안되는데
: :
: : 어떻게 해야하는 지요?
: :
: : * 아래에 보니 예제가 있는것 같은데 5.0이라
: : 제가 볼수 가 없어서 죄송하게도 다시 물어봅니다.
: :
|