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
[21280] Re:[질문]GroupBox에다가 동적으로 생성된 라디오 버튼의...
방태윤 [nabty] 938 읽음    2002-09-06 16:58
여러가지 방법이 있겠지만...TComponent 의 Tag 를 사용해 보시지요^^
           
:     for ( int i = 0; i < 10; i++)   {
:         pBox[i] = new TCheckBox(this);
:         pBox[i]->OnClick = UserClick;
:         pBox[i]->Top = i * 20 + 20;
:         pBox[i]->Parent = GroupBox1;
:         pBox[i]->Left = 10;
//         
          pBox[i]->Tag = i; <===추가
//
:     }

void __fastcall TForm1::UserClick(TObject *Sender)
{
   pBox[((TComponent*)Sender)->Tag]->Caption="now cliecked";

tag를 안쓰고 다른방법으론

   TCheckBox*c=(TCheckBox*)Sender;
   for(int i=0;i<10;i++){
     if(pBox[i]==c){
        pBox[i]->Caption="now cliecked";
     }
  }
}
http://www.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_faq&no=15
도 한번 읽어보십시요...

초짜 님이 쓰신 글 :
: 어떤 문제가 나오고 거기에 대한 답을 동적으로 생성된 라디오 버튼으로
:
: 답을 체크하는 프로그램입니다.
:
: 우선 UserClick를 만들어서 동적으로 생성된 라디오 버튼의 클릭이벤트는 얻어왔는데요..
:
: 값을 어떻게 구분해주는 것이 가장 좋은 방법인지 몰라서 이렇게 질문을 올립니다.
:
: TCheckBox *pBox[10];    // 헤더에는 이렇게 선언해놨구요..
:
:     for ( int i = 0; i < 10; i++)   {
:         pBox[i] = new TCheckBox(this);
:         pBox[i]->OnClick = UserClick;
:         pBox[i]->Top = i * 20 + 20;
:         pBox[i]->Parent = GroupBox1;
:         pBox[i]->Left = 10;
:     }
:
: void __fastcall TForm1::UserClick(TObject *Sender)
: {
:     //
: }
:
: 우선 꽁수로는 체크박스의 위치를 역으로 계산해서 값은 구했지만.. 역시나 꽁수인지라. -_-
:
: 좋은 답변 좀 부탁드립니다.
:
: 할 줄 아는게 꽁수밖에 없어서 너무 답답해요.. ㅠ.ㅠ

+ -

관련 글 리스트
21277 [질문]GroupBox에다가 동적으로 생성된 라디오 버튼의... 초짜 1375 2002/09/06
21280     Re:[질문]GroupBox에다가 동적으로 생성된 라디오 버튼의... 방태윤 938 2002/09/06
21282         (`')> 감사합니다. 초짜 538 2002/09/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.