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
[45223] Re:폼을 복수개 동적으로 생성하는 방법
외랑 [] 921 읽음    2006-06-07 13:41
간단한 일입니다.
Main폼말고 sub폼을 만듭니다.
프로젝트 메뉴에서 옵션을 선택합니다.
Forms탭을 보시면 자동으로 만들어지는 폼 리스트가 있고 동적으로 만들어지는 폼 리스트가 있습니다.
sub폼을 동적 폼 리스트로 이동버튼을 눌러 이동시킵니다.
확인을 눌러 세팅을 적용시킵니다.
이제 코드로 와서..
Main폼에 버튼 하나를 놓고서 클릭이벤트에다가.. 다음과 같이..(sub폼 명칭을 그냥 Form2라고 )
Main폼에 sub폼이 저장될 장소를 마련해야겠지요? 나중에 할당한 메모리 풀어주려면....
그래서 헤더파일에
TForm *NForm[10]; // 그냥 10개 까지만 해보지요 쉽게.. 아니면 List로 관리하시는것이 좋겠지요.
int FormIndex;

클릭이벤트엔
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    if(FormIndex < 10)
   {
        NForm[FormIndex] = new TForm2(this);
        NForm[FormIndex]->Show();
        FormIndex++;
    }
}
//---------------------------------------------------------------------------
이러면 버튼 누를때 마다 하나씩 동일모양의 Form2를 10개까지 띄울 수 있습니다.
메모리 해제는 알아서 해주시리라..믿습니다.
(사실 Owner가 Main폼이라 닫으면 자동으로 소멸되지만 확실하게 해제하는 것이 좋습니다.)


김용수 님이 쓰신 글 :
: Main폼이 있고
: 그 폼에서 Button을 누르면 서브 폼이 뜨게하는 방법은 알고 있습니다.
:
: 예를 들어서
:
: Main.cpp에서
:
: /* 버튼이 눌러지먼 */
: SubForm1->Show();
:
:
: 그런데 이렇게 하는것은 미리 SubForm1이라는것을
: 만들어 놓고 해야 되지 않습니까?
:
: 버튼을 누르면(원하는 것은 미리 하나의 서브 폼  SubForm1을 만들어 놓고)
: 그 서브폼이 n개 복수 생성되는것을 하고 싶습니다.
: 물론 그 복수 생성된 폼의 컴포넌트등을 제어 할 수 있으면서요.
:
: 예를 들어서 복수개의 폼을 생성할때 그 복수개 폼 각각의 핸들등을
: 알고 있다면 제어가 가능하지 않을까요?

+ -

관련 글 리스트
45220 폼을 복수개 동적으로 생성하는 방법 김용수 810 2006/06/07
45223     Re:폼을 복수개 동적으로 생성하는 방법 외랑 921 2006/06/07
45228         Re:Re:폼을 복수개 동적으로 생성하는 방법 김용수 947 2006/06/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.