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
[65938] Re:Re:Re:Re:Re:Re:체크박스 자동변경이요~ ( 참고 )
문경재 [] 1509 읽음    2012-01-12 15:19
장성호님 말씀 감사합니다.

Click이벤트 호출되는걸 재귀호출로 제가 잘못 봤네요^^

다시 확인해보니

CheckBox1 상태가 가 false일때는
CheckBox1->Checked = false; <--이부분을 거쳐도 이벤트가 발생하지않네요

상태가 변경될때만 클릭이벤트가 들어가지네요

좋은정보 감사합니다.


장성호 님이 쓰신 글 :
: 문경재님께서
: CheckBox는 Checked속성 변경시 이상동작
: CheckBox 클릭이벤트에서
: Checked속성을 변경하니 함수가 재귀로 도는것 같다고 하셨는데요...
:
: CheckBox는 Checked속성 변경시 주의할점
: CheckBox는 Checked속성이 변경되면 Click이벤트 핸들러가 호출됩니다.
:
: CheckBox1.Click 이벤트에서 CheckBox2->Checked를 변경하고
: CheckBox2.Click 이벤트에서 CheckBox1->Checked를 변경하면
:
: CheckBox1 한번 클릭하면
: CheckBox1.Click이벤트   = >  CheckBox2.Click 이벤트  => CheckBox1.Click 이벤트  ...
:
: 위와같이 계속 반복해서 호출되다가..
: stack overflow가 날것입니다.
:
: 기타 속성 변경시 주의할 Control 들...
:
: CheckBox 뿐만 아니라
: 다른Control중에서도 coding으로 Property를 변경했는데..
: 이벤트 핸들러가 호출되는 놈이 여러가지 있습니다.
:
: 다음 링크에 제가 예전에  아는데로  몇가지 정리해 놓은것이 있습니다.
: http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=947
:
: 참조하세요
:
: 그럼..
:
:
:
: 문경재 님이 쓰신 글 :
: : 그렇네요 체크박스로 하니까
: : CheckBox1->Checked = false; <-상태를 바꾸는데
: : 해당 함수로 재귀로 들어가네요
: : 플래그로 제어하면될것 같긴한데 그러면 너무 복잡해지니
: :
: : 그냥 라디오버튼을 쓰심이 좋을것 같네요
: :
: : 김동석 님이 쓰신 글 :
: : : void __fastcall TMainForm::CheckBox2Click(TObject *Sender)
: : : {
: : :     CheckBox3->Checked = false;
: : :     CheckBox1->Checked = false;
: : : }
: : : //---------------------------------------------------------------------------
: : :
: : : void __fastcall TMainForm::CheckBox3Click(TObject *Sender)
: : : {
: : :        CheckBox2->Checked = false;
: : :     CheckBox1->Checked = false;
: : : }
: : : //---------------------------------------------------------------------------
: : :
: : : void __fastcall TMainForm::CheckBox1Click(TObject *Sender)
: : : {
: : :       CheckBox3->Checked = false;
: : :     CheckBox2->Checked = false;
: : : }
: : : //---------------------------------------------------------------------
: : :
: : : 굳이 체크박스를 이용해야 해서...이렇게 해봤는데요
: : : 이랬더니 클릭하면 다른게 체크가 사라지긴 하는데
: : : 클릭한 체크박스도 클릭시 체크가 생기지않고
: : : 다시 클릭해야 체크가 생깁니다..
: : : 문제가 있나요..?
: : :
: : : 쉽게 말해 1번 체크박스에 체크가 되있을경우 2번체크박스를 클릭하면
: : : 1번체크박스에 체크만 해제가 됩니다
: : : 그리고 다시 2번을 클릭해야 2번이 체크가 됩니다.
: : :
: : :
: : : 문경재 님이 쓰신 글 :
: : : : 여러개의 선택박스에서 하나씩만 선택하게하는건
: : : : radiogroup나 radiobutton를 쓰면됩니다.
: : : : 구지 체크박스를 쓰고 싶다면 체크박스의 click 이벤트에서 체크박스 상태를 체크해서 checked를 true,false해주면되겠죠.
: : : : civilian 님이 쓰신 글 :
: : : : : TRadioGroup
: : : : :
: : : : : 김동석 님이 쓰신 글 :
: : : : : : 안녕하세요
: : : : : :
: : : : : : 체크박스 에 관한 질문인데요
: : : : : :
: : : : : : 자동변경까진 아니고요
: : : : : :
: : : : : : 체크박스를 여러개 쓰는경우 중복 선택이 되지않겠끔 하고싶네요
: : : : : :
: : : : : : 얘를 들어 체크박스 1,2,3 이 있을경우
: : : : : :
: : : : : : 1이 체크된 상태에서 2를  체크하면 1   체크 없어지면서 2만  체크 되는것이지요
: : : : : :
: : : : : : 이런게 가능한가요?

+ -

관련 글 리스트
65925 체크박스 자동변경이요~ 김동석 1292 2012/01/12
65962     Re:체크박스 자동변경이요~ aaa 1347 2012/01/13
65927     Re:체크박스 자동변경이요~ civilian 1273 2012/01/12
65928         Re:Re:체크박스 자동변경이요~ 문경재 1334 2012/01/12
65932                 Re:Re:Re:Re:체크박스 자동변경이요~ 문경재 1309 2012/01/12
65937                     Re:Re:Re:Re:Re:체크박스 자동변경이요~ ( 참고 ) 장성호 1767 2012/01/12
65938                         Re:Re:Re:Re:Re:Re:체크박스 자동변경이요~ ( 참고 ) 문경재 1509 2012/01/12
65935                     답변감사합니다~ 김동석 1211 2012/01/12
66082                         Re:답변감사합니다~ 문경재 1094 2012/01/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.