2013-08-28 3 views
4

에 개최. 내가 Windows에서 줌 버튼을 추가하는 응용 프로그램 작업입니다는 안 오른쪽 터치를 통해 클릭하고 내가 <a href="http://youtu.be/dvThW2liaaY?t=1m34s" rel="nofollow">see this video</a>, 참조하고있는 마우스 오른쪽 버튼으로 클릭 이벤트를 확인하려면 Windows 7의 터치 스크린 장치

Forms 응용 프로그램. 사용자가 버튼을 터치하면 애플리케이션은 계속 창을 확대해야합니다. 이것은 버튼의 마우스 다운 이벤트를 모니터링하여 작동합니다. 마우스가 내려가는 동안, 타이머는 뷰를 계속 확대/축소합니다. 이것은 초기 터치 후 사용자 손가락이 미끄러지는 한 잘 동작합니다. 그러나 사용자가 전체 시간 동안 한 지점을 밀면 작은 대기 서클과 오른쪽 클릭 이벤트가 발생합니다.

나는 응용 프로그램에 this link의 코드를 추가했습니다 :

public bool PreFilterMessage(ref Message m) 
{ 
    // Filter out WM_NCRBUTTONDOWN/UP/DBLCLK 
    if (m.Msg == 0xA4 || m.Msg == 0xA5 || m.Msg == 0xA6) return true; 
    // Filter out WM_RBUTTONDOWN/UP/DBLCLK 
    if (m.Msg == 0x204 || m.Msg == 0x205 || m.Msg == 0x206) return true; 
    return false; 
} 

이 코드는 결과를 마우스 오른쪽 단추로 클릭 이벤트를 비활성화합니다. 그러나 서클은 여전히 ​​발생하고 mousedown 이벤트는 발생하지 않습니다. 물리적 인 터치를 마우스로 누른 채로 마우스 오른쪽 버튼을 클릭하지 않는 방법이 있습니까?


편집 나는 Control Panel에가는 시도 ->Pen and Touch과 언론을 비활성화하고 마우스 오른쪽 버튼을 클릭 기능을 누르고 있습니다. 이렇게하면 스핀 아이콘이 비활성화되지만 사용자가 손가락을 약간 움직이지 않으면 마우스가 계속 움직이지 않습니다. 나는 왜 사용자가 버튼을 누르고 있기 위해 낙서해야하는지 알지 못한다.

답변

0

터치에 표시된 원을 마우스 오른쪽 버튼으로 클릭은 Windows 7에 도입 된 제스처이다. Press and Hold이라고합니다. 완전히이 제스처를 사용하지 않으려면

, 당신은 당신의 양식을 초기화 SetGestureConfig 함수를 호출하여 운영 체제를 말할 필요가있다. 이 기능을 사용하면 컨트롤에서 지원되는 제스처를 명시 적으로 지정할 수 있습니다.

0

Windows 10에서이 기능을 사용해보십시오.이 기능은 글로벌 시스템 변경이 아니며 & 보류는 OS 및 다른 프로그램에서 계속 작동합니다. 그것은 당신의 창만을 위해 & 보유를 무능하게합니다.

. . .

[DllImport("kernel32.dll", EntryPoint = "GlobalAddAtomA", CharSet=CharSet.Ansi)] 
static extern UInt16 GlobalAddAtom(string lpString); 

[DllImport("user32.dll", EntryPoint = "SetPropA", CharSet = CharSet.Ansi)] 
static extern UInt32 SetProp(IntPtr hWnd, UInt32 lpString, UInt32 hData); 

. . .

UInt16 atom = GlobalAddAtom("MicrosoftTabletPenServiceProperty"); 
if (atom != 0) 
    SetProp(this.Handle, (UInt32)atom, 1); 

. . .