안녕하세요. 천리안 프로그래머 포럼 C++Builder 담당자 임펠리테리입니다.
죄송하지만, 질문 내용이 정확하게 파악이 안되는데요..
음.. 추측하기로.. 처음에는 OnExit 핸들러가 동작을 하고, 두번째 이후엔 동작을
하지 않도록 하면 되는건가요...?
OnExit는 따져보면 함수를 가리키는 포인터형의 프로퍼티니까요, OnExit 프로퍼티에
NULL을 할당해주면 그 다음부터는 지정된 함수가 실행되지 않죠..
만약 몇개의 컨트롤 중에서 특정 컨트롤에서만 동작하게, 혹은 동작하지 않게 하려면
Sender의 객체나 이름, 타입 등등을 검사해주면 되구요.
만약 이벤트를 발생시킨 Sender가 Edit2인지를 검사하려면..
if(dynamic_cast<TEdit*>(Sender) == Edit2)
...
이렇게 하면 될거구요, 컨트롤이 특정 타입인지를 검사하려면,
if(dynamic_cast<TRichEdit*>(Sender))
...
이렇게 하면돼죠. 위의 경우에는 Sender가 TRichEdit 형의 객체일 경우 "..." 부분이
실행되겠죠? 같은 방법으로 Sender의 프로퍼티를 검사할 수도 있겠죠?
혹 제가 잘못 짚고 엉뚱한 답변을 했다면.. 제 죄를 용서해 주시고 다시 한번 질문을
올려주세요... ^^;;;
그럼 도움되시길 바라면서, 이만...
독립문에서 임펠리테리였습니다.
(cbuilder, skyhi18)
|