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
[62275] Re:Re:체크 컨트롤 배열처리 방법...
지금 시작 [rncjsdn2002] 845 읽음    2010-08-31 09:01
네 장성호님 말씀처럼 코딩해주셔야 합니다.
조금 부연설명을 드리자면 디자인 타임에서 컨트롤을 올리면 그에 해당하는 코드들이 자동으로 생성됩니다. 즉,
:      ChkBox[i]=new TCheckBox(this);
:      ChkBox[i]->Parent=this;//또는 Panel1 등 특정 Control
:      ChkBox[i]->Left = 10;
:      ChkBox[i]->Top= 5+i*20;
:      ChkBox[i]->Caption=IntToStr(i);//원하는 내용..
:      ....
이 내용들이 자동 생성되죠.
하지만 런타임시 동적으로 생성하려면 위 자동생성 작업을 직접 해주어야해요.

헤더에 선언한다는 것은 말그대로 선언일 뿐입니다. new를 사용하여 실제 객체를 생성하고
컨트롤의 위치와 캡션등등 프로퍼티들을 설정해주어야 실제로 폼에 나타나는 거죠~


장성호 님이 쓰신 글 :
: Design-time에서는 Form위에 올려진 Component를 배열로 선언해서 사용할수는 없습니다.
:
: 하지만 run-time에 동적으로 CheckBox를 생성하고..
: 배치한다면 얼마든지 할수 있죠
:
: 그냥 Header에 TCheckBox *ChkBox[200]; //이렇게 선언하시구요
:
: FormCreate이벤트에서
:
: for(int i=0;i<200;i++)
: {
:      ChkBox[i]=new TCheckBox(this);
:      ChkBox[i]->Parent=this;//또는 Panel1 등 특정 Control 
:      ChkBox[i]->Left = 10;
:      ChkBox[i]->Top= 5+i*20;
:      ChkBox[i]->Caption=IntToStr(i);//원하는 내용..
:      ....
:      
: }
: 

:
: 위와같은 식으로 동적생성하셔서 특정 Control 위에 올리시고 위치도 조정하시면 됩니다.
:
: 그럼..
:
:
: 김봉재 님이 쓰신 글 :
: :



: :
: : 빌더로 폼에 약 200개의 체크버튼을 놓을려고 하는데요...
: : 하나 하나씩 컨트롤을 놓는것 말고, 배열로 처리하여 프로그램 실행때 자동으로 배열되도록 하고 싶은데..
: : 어떻게 하나요???
: : 폼에 컨트롤을 배치하지 않고,
: : 그냥 헤더에 아래와 같이 지정해서 사용할수 없나요???
: :
: : TButton *Button[200]; 이렇게 하니까 않되네요...
: :
: : 초보라....

+ -

관련 글 리스트
62273 체크 컨트롤 배열처리 방법... 김봉재 847 2010/08/30
62274     Re:체크 컨트롤 배열처리 방법... 장성호 840 2010/08/31
62275         Re:Re:체크 컨트롤 배열처리 방법... 지금 시작 845 2010/08/31
62283             Re:Re:Re:체크 컨트롤 배열처리 방법... 김봉재 836 2010/08/31
62284                 Re:Re:Re:Re:체크 컨트롤 배열처리 방법... PMAC 1079 2010/09/01
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.