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
[66535] Re:Re:이벤트 관련해서 질문좀 드릴겠습니다~
쌩조 [] 867 읽음    2012-03-08 18:03
언제나 저의 시야를 넓혀 주셔서 감사합니다^^

장성호 님이 쓰신 글 :
: 이벤트핸들러에서  Sender가  이벤트가 발생한 control입니다.
:
: 님께서 코딩을 Sender를 이용해서 하도로 잘 하셨습니다.
:
: ----------------------------------------------
: 문제는 Contorl의 event연결이 하나의 함수에 해야하는데
: 각각 따로 되어있을뿐입니다.
:
:
: Design-time에
: ObjectInspector에서  모두 같은 함수 (예- CheckBox3MouseDown ) 걸어주시면 됩니다.
: 나머지는 삭제하시구요(메소드 내부 코드를 없애고 save하면 자동으로 삭제됨)
:
: run-time에 하시려면
: 다음과 같이 코딩으로 이벤트핸들러를 연결해주시면 됩니다.
:
: CheckBox3->OnMouseDown = CheckBox3MouseDown;
: CheckBox4->OnMouseDown = CheckBox3MouseDown;
: CheckBox5->OnMouseDown = CheckBox3MouseDown;
: CheckBox6->OnMouseDown = CheckBox3MouseDown;
:
: 위와같이 하면
: CheckBox4MouseDown , CheckBox5MouseDown , CheckBox6MouseDown ....
: 함수들을 필요없게 됩니다.
:
:
: 그럼..
:
:
: 쌩조 님이 쓰신 글 :
: : 같은 내용을 서로 다른 버튼의 이벤트에 적용 시키는 작업을 하고 있습니다. 완전 초보라 어떻게 해야되는지를 잘 모르겠습니다.
: :
: : void __fastcall TForm1::CheckBox3MouseDown(TObject *Sender, TMouseButton Button,
: :       TShiftState Shift, int X, int Y)
: : {
: :
: :
: :            if(Shift.Contains(ssLeft))
: :     {
: :         TCheckBox *ChkBox=(TCheckBox *)Sender;
: :         if(!ChkBox->Checked)
: :         {
: :     if(GetCheckBoxCheckedCount()>=3){
: :                 ReleaseCapture();
: :             }
: :     }
: :     }
: :     }
: : //---------------------------------------------------------------------------
: : void __fastcall TForm1::CheckBox4MouseDown(TObject *Sender, TMouseButton Button,
: :       TShiftState Shift, int X, int Y)
: : {
: :                if(Shift.Contains(ssLeft))
: :     {
: :         TCheckBox *ChkBox=(TCheckBox *)Sender;
: :         if(!ChkBox->Checked)
: :         {
: :             if(GetCheckBoxCheckedCount()>=3)
: :             {
: :                 ReleaseCapture();
: :             }
: :             }
: :         }
: : }
: : //---------------------------------------------------------------------------
: : void __fastcall TForm1::CheckBox5MouseDown
: :     (TObject *Sender, TMouseButton Button,TShiftState Shift, int X, int Y)
: : {
: :            if(Shift.Contains(ssLeft))
: :     {
: :         TCheckBox *ChkBox=(TCheckBox *)Sender;
: :         if(!ChkBox->Checked)
: :         {
: :             if(GetCheckBoxCheckedCount()>=3)
: :             {
: :                 ReleaseCapture();
: :             }
: :             }
: :         }
: : }
: : //---------------------------------------------------------------------------
: : void __fastcall TForm1::CheckBox6MouseDown(TObject *Sender, TMouseButton Button,
: :       TShiftState Shift, int X, int Y)
: : {
: :                if(Shift.Contains(ssLeft))
: :     {
: :         TCheckBox *ChkBox=(TCheckBox *)Sender;
: :         if(!ChkBox->Checked)
: :         {
: :             if(GetCheckBoxCheckedCount()>=3)
: :             {
: :                 ReleaseCapture();
: :         }
: :         }
: :         }
: :     }
: : //---------------------------------------------------------------------------
: :
: :
: : 지금은 버튼이 얼마 없어 크게 문제가 안되는데 나중에 100개 이상 처럼 많은 양을 사용 하게 되면 노가다가 될것 같은데 쉽게 구현 할수 있는방법이 있을까요?

+ -

관련 글 리스트
66531 이벤트 관련해서 질문좀 드릴겠습니다~ 쌩조 790 2012/03/08
66534     Re:이벤트 관련해서 질문좀 드릴겠습니다~ 장성호 802 2012/03/08
66535         Re:Re:이벤트 관련해서 질문좀 드릴겠습니다~ 쌩조 867 2012/03/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.