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
[36592] [답변] OnExit이벤트를 이용하세요.
정성훈.해미 [sage5nor] 1067 읽음    2004-08-04 11:06
마우스 이벤트를 여러군데 묶을 필요 없습니다.
OnExit이벤트를 이용하면 간단하게 해결됩니다.

일반적으로 버튼위에서 마우스를 누르면 OnMouseDown이벤트 발생하고
마우스를 때면 OnMouseUp이벤트가 발생합니다.

그러나 마우스를 누른후 해당버튼을 벗어나서 땔 경우 OnMouseUp이벤트는 발생하지 않습니다.
이때는 OnExit이벤트가 발생하게 됩니다.

마우스가 해당버튼을 벗어낫다고해서 바로 OnExit이벤트가 발생하는 것이 아니라
마우스에서 손을 땐 순간 발생합니다.

그렇기때문에이것을 이용하면 어디에서든 OnMouseUp이벤트를 대치할 수 있다는 것입니다.
한가지 고려해야 할 것은 OnExit이벤트 발생시 해당 버튼의 OnMouseDown가 발생했을때만
적용해야 한다는 것입니다.

[적용예]
bool mousedown = false;
//----------------------------
Button1MouseDown이벤트
{
    mousedown = true;
    //마우스 다운시 처리
}
//----------------------------
Button1MouseUp이벤트
{
    mousedown = false;
    //마우스 업시 처리
}
//----------------------------
Button1Exit이벤트
{
    if(mousedown)
    {
        mousedown = false;
       //마우스 업시 처리
    }
}

이렇게 하시면 끝납니다.
다른 콤포넌트에서 처리한  OnMouseUp이벤트는 없애세요.

도움이 되셨는지요?
즐거운 하루되십시오.

-----------------------------------------
작은 생각이 세상을 바꾼다 - 정성훈.해미 -
-----------------------------------------



케군 님이 쓰신 글 :
: 제가 초보라서 잘 모르겠지만 아는데로 적어볼께요.
:
: 제가 마우스 클릭을 해서 마우스 클릭이 끝날때까지만 상태를 유지 시키는 프로그램을 짜는데...
: OnMouseDown함수에서 시작해서 OnMouseUp함수에서 끝나게 했습니다.
:
: 폼 위에 어느곳에서 클릭이 끝나더라도 실행되게 하기 위해서 여러 컴포넌트들을
: 하나의 OnMouseUp함수로 묶어서 처리했습니다. 폼의 OnMouseUp함수도 마찬가지로...
:
: 그런데 만약 마우스 클릭 상태에서 외부의 다른 폼이나 클라이언트외의 영역으로 옮겨서
: 클릭이 끝나게되면 끝이 안나고 계속 클릭된 상태처럼 인식합니다.
:
: 외부의 다른 폼이나 클라이언트외 영역에서 클릭이 끝났다는 사실을 알수 없을까요?
: 고수님들의 답변 부탁드립니다.

+ -

관련 글 리스트
36587 [질문]OnMouseUp함수에 관한 질문입니다. 케군 924 2004/08/04
36604     Re:답변에 감사드립니다!! 케군 995 2004/08/04
36598     Re:[질문]OnMouseUp함수에 관한 질문입니다. 김상면 1157 2004/08/04
36597     Re:[질문]OnMouseUp함수에 관한 질문입니다. 김상면 888 2004/08/04
36596     Re:[질문]OnMouseUp함수에 관한 질문입니다. 김상면 838 2004/08/04
36592     [답변] OnExit이벤트를 이용하세요. 정성훈.해미 1067 2004/08/04
36591     Re:[질문]OnMouseUp함수에 관한 질문입니다. 조준회 962 2004/08/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.