|
안녕하세요. 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에서 마우스가 더블 클릭되었다는 것은 알수가 있는데요
: 세 번 클릭되었다는 것은 어떻게 아나요?
|