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
[38952] Re:[급질문] 동적생성한 컨트롤의 이름을 구해오는 방법에 대한 질문입니다...
2HB [thigon] 1089 읽음    2005-01-28 09:44
static_cast<TListBox*>(Panel2->FindChildControl("List0"))->Items->Add("aaa");
이런 식으로 접근할수 있습니다.
그리고 해당 ListBox에 이벤트를 작성해야 하실 경우에는
void __fastcall TForm1::ListBox0MouseDown(TObject *Sender, TMouseButton Button,
          TShiftState Shift, int X, int Y)
{
    ShowMessage("AAA");
}
이런식으로 규격에 맞춰서 -_-;; 이벤트를 작성하시고 생성시키실때

l->OnMouseDown = ListBox0MouseDown;

이런 식으로 사용하시면 편합니다. 사실 규격에 안맞춰도 상관없지만 똑같은 형이 아니면 안들어가기 때문에 그냥 같은 컴포넌트를 하나 만들어서 이벤트를 작성하시고 그걸 복사하신다거나 해서 연결시켜주시는게 속편합니다.(연결하기 전에 실험도 해볼수 있다는 장점이 있죠;)

잘은 모르지만 아마 컬렉션이나 그런데에다 넣고 사용할수도 있을거예요;(하지만 모르니까 패스)

초보 님이 쓰신 글 :
: for(int i=0;i<Edit1->Text.ToInt();i++){
:
:             String str;
:             str.sprintf("List%d",i);
:
:
:             TListBox *l = new TListBox(this);
:             l->Parent = this->Panel2;
:             l->Name = str.c_str(); //name
:
:
:             TSplitter *s = new TSplitter(this);
:             s->Parent = this->Panel2;
:             s->Align=alTop;
: }
:
:
:
: // 위에같은 방법으로 Listbox를 9개 생성하여
: 이름을 List0,List1 ... 이런식으로 주었습니다.
:
: 뒤에 List1,List2 를 계속 사용하며 값을 넣었다 뺐다 해야되며
: 비교를 해야될것이 많습니다.
:
: 동적생성시 주었던 이름을 바로 호출하여 쓰니 에러가 납니다.
:
: List1->Items->Add("1");
: List2->Items->Add("2");
:
: 이런식으로요....
:
: 동적생성한 컨트롤은 폼위에 드래그로 올린것 처럼 쓸수 없나요?
: 이름을 구해올 방법이 없는건지요?
:
: 반드시 동적생성을 사용해야될 상황입니다.
: 상황에 따라 listbox 개수가 다르거든요...
:
: 빠른 답변좀 부탁드립니다...ㅠㅠ

+ -

관련 글 리스트
38950 [급질문] 동적생성한 컨트롤의 이름을 구해오는 방법에 대한 질문입니다... 초보 880 2005/01/28
38952     Re:[급질문] 동적생성한 컨트롤의 이름을 구해오는 방법에 대한 질문입니다... 2HB 1089 2005/01/28
38953         Re:Re:그나마 낳은 방법;; 2HB 1098 2005/01/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.