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
[69088] Re:Re:어느 컴포넌트로 부터 이벤트가 발생했는지 알아내는..?
짤팔이 [zzalpari] 1589 읽음    2013-02-05 11:19
꼬부기님,답변감사합니다..
그런데요..첨부 file - projects.exe 가 다운로드가 안되는데요...
제 PC에서만 그런건지는 잘 모르겠습니다..에고~~
그래서,,다른글들 중 첨부된 file을 Download 해보니 그건 잘 되네요..
--
제가 그동안 해왔던 방법은...
edit1 을 클릭하면 자신의 click-event 루틴에서 자신의 component 를 Global 변수에 저장을 합니다.
예를 들면 TEdit * Global_Edit = edit1; -- 이렇게요..
edit2 을 클릭하면  TEdit * Global_Edit = edit2; -- 이렇게요..
저장한 후 어떤 원하는 함수를 call 하면 그 함수에서는 Global_Edit 를 대상으로 원하는 일을 처리합니다.
edit 를 예로 들었지만 chart 라든지 기타 component 에서도 같은 방법으로 처리 합니다.
--
위 방법이 잘 되기는 합니다. 몇개 안될 경우엔 나름 괜찮은 방법 같아요..
--
ApplcationEvent 같은(?)걸 이용하면 일일이 각 component 의 click event 내에서 자기자신이 누구인지를
Global 변수를 통해 알려줄 필요 없이,,,,알아낼 수도 있지 않을까란 의문이 듭니다.
-- 그나저나 download 가 왜 안되죠?? -- 아시는 분 조언 부탁해요..



꼬부기 님이 쓰신 글 :
: 질문을 잘 이해한건지 모르겠지만...
:
: 이벤트를 알아내시려는 컴포넌트들의 이벤트를 하나의 이벤트 함수로 묶고 (예를 들어 OnClick 이벤트)
:
: OnClick 이벤트 발생시 TEdit인지 TMaskEdit인지 판단을 하시면 될듯 합니다.
:
: 간단한 예제 프로그램 첨부합니다.
:
: 짤팔이 님이 쓰신 글 :
: : Form위에 클릭 Event 가 발생할 경우 ApplicationEvents 를 사용하여
: :  if (Msg.message == WM_KEYUP) 을 이용하여 처리를 하려고 하는데요..
: : 어떤 콤로넌트로 부터 event 가 발생했는지를 알아내려면 어떻게 해야 하는지요?
: : 예를 들면 MaskEdit 를 클릭했을때만 그 해당 MaskEdit에 대한 처리를 하려고 합니다.
: : 지금은 각각의 MaskEdit 를 Click 했을 때 그 MaskEdit를 Global 변수에 저장을 해서
: : 구현하고 있는데요.. 이게 너무 많아서 (수백개).. 하기가 힘듭니다.
: : Msg.pt 좌표를 이용해서 콤포넌트를 알아내는 방법이 없을까 해서 search 해 보았지만
: : 못찾겠군요..
: : 오늘 하루종일 Q/A Search 하다가 결국 질문 올립니다.
: : 그동안 Global 변수에 저장하는 방법을 많이 사용해 왔고.. 그런대로 잘 되고 있습니다.
: : (MaskEdit 뿐만 아니라 다른 콤포넌트들....도요)
: : 이 방법이 세련된(?)방법이 아닐거라고 늘 생각해왔는데요...
: : 수백개 정도 되니까 역시 좋은 방법이 아니란 생각이 듭니다.
: : 고수님들의 조언 부탁합니다.

+ -

관련 글 리스트
69086 어느 컴포넌트로 부터 이벤트가 발생했는지 알아내는..? 짤팔이 1603 2013/02/04
69087     Re:어느 컴포넌트로 부터 이벤트가 발생했는지 알아내는..? 꼬부기 1626 2013/02/04
69088         Re:Re:어느 컴포넌트로 부터 이벤트가 발생했는지 알아내는..? 짤팔이 1589 2013/02/05
69090             Re:Re:Re:어느 컴포넌트로 부터 이벤트가 발생했는지 알아내는..? 꼬부기 4376 2013/02/05
69092                 Re:Re:Re:Re:어느 컴포넌트로 부터 이벤트가 발생했는지 알아내는..? 짤팔이 1696 2013/02/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.