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
[28933] Re:마우스가 세 번 클릭되었다는 것을 알 수는 없나요?
김용수 [heredity] 1006 읽음    2004-02-27 22:48
안녕하세요. heredity입니다.
Windows에서 마우스 버튼의 3번 눌림을 관리하는 Event는 없는 것으로 알 고 있습니다.
꼭 필요하시다면 비슷하게 흉내는 낼 수있을 것 같군요.
방법은 간단합니다. Form의 OnMouseUp Event에서
마우스 버튼이 눌린 시간을 비교하는 것입니다.
조금 불편하죠!!! ^_^

//---------------------------------------------------------------------------
void __fastcall TForm1::FormMouseUp(TObject *Sender, TMouseButton Button,
      TShiftState Shift, int X, int Y)
{
  static DWORD dwTime1 = 0;
  static DWORD dwTime2 = 0;
  static DWORD dwTime3 = 0;

  if( Button == mbLeft ) {
    dwTime1 = dwTime2;
    dwTime2 = dwTime3;
    dwTime3 = ::GetTickCount(); // 49.7일 마다 한번씩 오류가 발생합니다.

    if( dwTime3 - dwTime1 < 900 ) {  // 세번 클릭 시간을 900 ms로 했습니다. 알맞게 조정하세요.
      dwTime1 = dwTime2 = dwTime3 = 0;
      ShowMessage( "3번 클릭됨" );
    }
  }
  else {
    dwTime1 = dwTime2 = dwTime3 = 0;
  }
}

-----------------------------------

초보짱 님이 쓰신 글 :
: MouseDown에서 마우스가 더블 클릭되었다는 것은 알수가 있는데요
: 세 번 클릭되었다는 것은 어떻게 아나요?

+ -

관련 글 리스트
28909 마우스가 세 번 클릭되었다는 것을 알 수는 없나요? 초보짱 773 2004/02/26
28933     Re:마우스가 세 번 클릭되었다는 것을 알 수는 없나요? 김용수 1006 2004/02/27
34521         Re:Re:마우스가 세 번 클릭되었다는 것을 알 수는 없나요? 초보짱 740 2004/02/28
34520         Re:Re:마우스가 세 번 클릭되었다는 것을 알 수는 없나요? 김용수 771 2004/02/27
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.