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
[16392] [질문] 7855번 질문에 대한 질문 (패널에 폼 집어 넣기)
화니화니 [skyweb] 1076 읽음    2002-03-15 15:54
잘 이해가 안가서 그러는데여

좀 자세히 설명해 주실수 있나여

질문과 답변을 참조 해서 함 해봤는데..구현이 안되네여..

어디서 잘못한건지

단지 폼1에 있는 패널에 다른 폼을 집어 넣는 건데여..

부탁드립니다... (요새 팁란에 올라온거 구현하는 재미로 살거든여..^^)

아래 글은 Tip'n Tricks 에 올라온 임프님의 글입니다.

(허락 없이 올려서 죄송합니다.^^)

//------------------------------------------------------------------------

임프랍니다..
오늘도 재미있는 팁 하나를 가지고 상쾌한 하루를 시작합시다.

오늘의 팁은, 패널에(혹은 다른 윈도우컨트롤에) 폼을 집어넣기 입니다.
이 팁의 핵심은 간단합니다. 폼도 TControl의 자손이기 때문에, 윈도우컨트롤에
집어넣을 수 있습니다. 하지만, 이 간단한 원리의 응용은 생각보다 쇼킹합니다.
일단.. 코드를 작성해봅시다.

Form1과 Form2, 두개의 폼을 가진 프로젝트를 하나 작성합시다.
그리고 Form1에는 패널을 하나 놓습니다. 크기는 좀 큼직하게.. 얼라인을 alClient로
만들어도 좋겠네요. 하지만, 버튼을 하나 놔야 하니까 약간의 공간이 남게 합시다.
그리고 버튼을 하나 놓고.. OnClick 핸들러를 작성합시다.

void __fastcall TForm1::Button1Click(TObject *Sender)
{
     Form2 = new TForm2 (Panel1);
     Form2->Parent = Panel1;
     Form2->Left = 0;
     Form2->Top = 0;
     Form2->Visible = true;
}

당연히 Form2는 프로젝트 옵션에서 Available로 옮겨놔야겠죠? 동적으로 생성하니까.
그리고.. Form2의 OnClose 핸들러를 작성합시다. 간단히~

void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action)
{
     Action = caFree;
}

동적으로 생성하니까, 닫을때 자동으로 날려버릴수 있도록 하는거죠.

자아.. 이걸로 끝입니다. 간단하죠? 실행해보세요.
폼이 패널 안에 뜹니다. 무슨 MDI처럼. 하지만 MDI는 아니죠.

흠.. 재미있긴 한데 이게 뭔 소용이 있냐구요? 소용이 있죠~!
폼의 BorderStyle을 bsNone으로 놓는다고 생각해봅시다.
그럼... dfm으로 작성한 폼을, 마치 새로운 컨트롤인것처럼 써먹을 수 있죠~
패널에도 놨으니, 페이지컨트롤의 탭시트에도 폼을 얹어놓을수 있겠죠?
그럼 탭시트에 폼디자이너로 미리 디자인된 컨트롤들을 올려놓을 수 있는거죠.
아주 여러가지로 응용이 되겠죠? ^^

그럼, 도움되시길 바라면서, 이만...



독립문에서 임펠리테리였습니다.

그리고 이에 대한 질문은 7855번에 둘둘님과 수야님의 질답이 있는데..

그거 참조 해서 코딩해 봤는데..구현이 안 되네여..


+ -

관련 글 리스트
16392 [질문] 7855번 질문에 대한 질문 (패널에 폼 집어 넣기) 화니화니 1076 2002/03/15
16393     Re:[질문] 해결했어여...^^ 화니화니 929 2002/03/15
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.