Windows Touch 예 - Windows Touch 획 크기 예(MTGestures)

1647 단어 WindowsTouch

Windows 터치 펜 크기 예제(MTGestures)


이 섹션에서는 Windows Touch 획의 예제에 대해 설명합니다.
이 Windows Touch 획은 WM 을 사용하여 획 메시지를 사용하는 방법을 보여 줍니다.GESTURE 메시지는 그래픽 장치 인터페이스(GDI)에 나타나는 상자를 변환, 회전 및 축척합니다.다음 그림은 실행 중인 예시의 외관을 보여 준다.
 
 
이 예제에서는 획 메시지를 획 엔진에 전달한 다음 획 엔진이 명령을 처리하는 방법이 있는 객체를 변환, 회전 및 축척하기 위해 드로잉 객체에 대한 관련 방법을 호출합니다.이 예시의 작업 방식을 설명하는 데 도움을 주려면, 두 손가락으로 명령을 눌러서 렌더링 상자의 대각선을 사용하거나 사용하지 않는 절차를 고려하십시오.사용자가 두 손가락으로 펜을 클릭하면 프로그램에서 처리하는 메시지가 생성됩니다.이 메시지를 처리할 때, 그림% 1개의 캡션을 편집했습니다.
다음 코드는 WndProc 방법에서 펜 메시지를 펜 엔진에 전달하는 방법을 보여 줍니다.
    case WM_GESTURE:
        // The gesture-processing code is implemented in the CGestureEngine 
        // class.
        return g_cGestureEngine.WndProc(hWnd,wParam,lParam);
        break;


다음 코드는 펜 엔진이 두 손가락 클릭 명령을 어떻게 처리하는지 보여 줍니다.
// Two-finger tap command
void CMyGestureEngine::ProcessTwoFingerTap(void)
{
    if(_pcRect)
    {
        _pcRect->ToggleDrawDiagonals();
    }
}


다음 코드는 그리는 대상이 대각선을 어떻게 전환하는지 보여 줍니다.
void ToggleDrawDiagonals(void){_bDrawDiagonals = !_bDrawDiagonals;}


다음 코드 프레젠테이션 대상은 그리는 방법에서 대각선을 어떻게 보이는지 보여 줍니다.
    if(_bDrawDiagonals)
    {
        // draw diagonals
        MoveToEx(hdc,ptRect[0].x,ptRect[0].y,NULL);
        LineTo(hdc,ptRect[2].x,ptRect[2].y);
        MoveToEx(hdc,ptRect[1].x,ptRect[1].y,NULL);
        LineTo(hdc,ptRect[3].x,ptRect[3].y);
    }


좋은 웹페이지 즐겨찾기