SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Touch UX with win32 API win32 API를 이용해 윈도우 7의 멀티 터치 구현하기 2010. 3. 8. Windows 7 Technical Briefing 최 성 기 http://vsts2010.net florist.sk@gmail.com NC Soft
Agenda Intro : 멀티 터치 터치 프로그래밍 준비사항 win32 API로 터치 인식하기 Reference
Touch Interface UX(사용자 경험)분야의 가장 뜨거운 이슈 터치형 인터페이스는 계속 성장할 전망
Multi-Touch is Here ,[object Object]
싱글 터치를 넘어 멀티 터치의 시대로.
멀티터치의 지원으로 표현력은 크게 증폭http://cyberimpacts.com/, http://www.intomobile.com/2007/03/11/apple-iphone-disappointing-lcd-screen.html
터치 프로그래밍 준비사항
Visual Studio 2010 2010. 2. 9. RC 버전 공개. 2010. 4월 정식 버전 출시. 2010. 6월 한글판 출시. 이전 컴파일러 + Windows 7 SDK -> 개발가능
하드웨어 에뮬레이터 http://multitouchvista.codeplex.com/  멀티터치 인식 드라이버 (오픈소스)
터치 프로그래밍 : 단계별 적용 1 Good 2 Better 3 Best
터치 프로그래밍 : 단계별 적용 1 Good 2 Better 3 Best Doing nothing! Windows 7 에서실행하기만 하면 얻는 기능
터치 프로그래밍 : 단계별 적용 1 Good 2 Better 3 Best WM_GESTURE 적은 수정비용으로 기본적인 동작 구현
터치 프로그래밍 : 단계별 적용 3 Best 2 Better 1 Good WM_TOUCH 가장 강력하고 유연한 기능 구현 가능
Step 1. Good Window 7 의기본 제공 터치 UX Demo
터치 프로그래밍 : 단계별 적용 1 Good 2 Better 3 Best WM_GESTURE 적은 수정비용으로 기본적인 동작 구현
GetSystemMetrics() GetSystemMetrics() SM_DIGITIZER : 입력장치 상태 확인 SM_TABLETPC : 타블렛pc 여부 확인 SM_MAXIMUMTOUCHES : 최대 동시입력 개수
WM_GESTURE의 9가지 제스처 http://msdn.microsoft.com/en-us/library/dd940543(VS.85).aspx
WM_GESTURE의 9가지 제스처 Panning Selection / Drag Rotate Zoom
WM_GESTURE의 9가지 제스처 Press and Tap Press and Hold Flicks Two-Finger Tap
WM_GESTURENOTIFY SetGestureConfig( … ) 원하는 제스쳐만을 활성화 해준다. GC_ALLGESTURE GC_PAN GC_PAN_WITH_SINGLE_FINGURE_VERTICALLY GC_PAN_WITH_SINGLE_FINGURE_HORIZONTALLY GC_PAN_WITH_INERTIA
WM_GESTURE 사용자가 응용프로그램 윈도우에 제스처를 수행했음을 알려줌. 제스처의 중심좌표와, 각 제스처에 따른 추가 정보들을 포함 lParam으로 GESTUREINFO 구조체를 얻는다.
struct GESTUREINFO
Panning 제스처의 메시지 예시 WM_GESTURENOTIFY WM_GESTURE (GID_BEGIN) WM_GESTURE (GID_PAN, GF_BEGIN) WM_GESTURE (GID_PAN, no flags) … WM_GESTURE (GID_PAN, GF_INERTIA) … WM_GESTURE (GID_PAN, GF_END) WM_GESTURE (GID_END)
Step 2. Better WM_GESTURE 를 통한 구현 Demo
터치 프로그래밍 : 단계별 적용 3 Best 2 Better 1 Good WM_TOUCH 가장 강력하고 유연한 기능 구현 가능
Mouse Messages &GetMessageExtraInfo() GetMessageExtraInfo() 함수를 이용해메시지의 추가정보를 얻을 수 있다. Mouse up / down 메시지는 터치나 펜으로 입력된 경우를 구분할 수 있다. Ex) Window 7의 기본 Mouse 입력 처리
WM_TOUCH 가장 직접적인 형태의 터치 데이터를 제공 마우스 메시지와 유사한 컨셉 이동, 회전, 줌 변환을 동시 적용 가능. Finger painting Custom Gestures Feeding higher-level controls ( ex. Manipulation )
WM_TOUCH가 전달되도록 설정 BOOL RegisterTouchWindow( … ) WM_GESTURE 대신 WM_TOUCH를 받는다. TWF_WANTPALM : 반응 속도 추가설정 가능
Step 3. Best WM_TOUCH를 통한 구현 Demo
터치 프로그래밍 : 단계별 적용 Doing nothing! Windows 7 에서실행하기만 하면 얻는 기능 ,[object Object]
적은 수정비용으로 기본적인 동작 구현

Weitere ähnliche Inhalte

Ähnlich wie Touch Ux With Win32

[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
Sang Don Kim
 
윈도우 매니저 스터디: 0.윈도우 매니저 소개
윈도우 매니저 스터디: 0.윈도우 매니저 소개윈도우 매니저 스터디: 0.윈도우 매니저 소개
윈도우 매니저 스터디: 0.윈도우 매니저 소개
nemoux
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
Junhee Han
 
차세대 기업형 브랜드 앱 개발
차세대 기업형 브랜드 앱 개발차세대 기업형 브랜드 앱 개발
차세대 기업형 브랜드 앱 개발
Seo Jinho
 

Ähnlich wie Touch Ux With Win32 (20)

[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
[Td 2015]알아두면 핵 이득! vc++로 안드로이드 개발하기(김성엽)
 
윈도우 매니저 스터디: 0.윈도우 매니저 소개
윈도우 매니저 스터디: 0.윈도우 매니저 소개윈도우 매니저 스터디: 0.윈도우 매니저 소개
윈도우 매니저 스터디: 0.윈도우 매니저 소개
 
TestSDS(2017-1, answer)
TestSDS(2017-1, answer)TestSDS(2017-1, answer)
TestSDS(2017-1, answer)
 
닥치고 동작 모션인식2.0 키넥트 이후의 모션인식 기술
닥치고 동작 모션인식2.0 키넥트 이후의 모션인식 기술닥치고 동작 모션인식2.0 키넥트 이후의 모션인식 기술
닥치고 동작 모션인식2.0 키넥트 이후의 모션인식 기술
 
GDG DevFest Busan 16" Android Nougat Developer's Note
GDG DevFest Busan 16" Android Nougat Developer's NoteGDG DevFest Busan 16" Android Nougat Developer's Note
GDG DevFest Busan 16" Android Nougat Developer's Note
 
Devtree illu
Devtree illuDevtree illu
Devtree illu
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
 
[27회] 훈스닷넷 윈도우폰 세미나
[27회] 훈스닷넷 윈도우폰 세미나[27회] 훈스닷넷 윈도우폰 세미나
[27회] 훈스닷넷 윈도우폰 세미나
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
 
차세대 기업형 브랜드 앱 개발
차세대 기업형 브랜드 앱 개발차세대 기업형 브랜드 앱 개발
차세대 기업형 브랜드 앱 개발
 
증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임증강현실을 통한 두더지잡기 게임
증강현실을 통한 두더지잡기 게임
 
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
 
Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤Kgc2013 defense technica_converting_이상윤
Kgc2013 defense technica_converting_이상윤
 
KT Show AppStore
KT Show AppStoreKT Show AppStore
KT Show AppStore
 
Windows Phone Apps Story Book #1
Windows Phone Apps Story Book #1Windows Phone Apps Story Book #1
Windows Phone Apps Story Book #1
 
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
[IGC 2016] 엔씨소프트 김종원 - 모바일 테스트 자동화 시스템
 
동국대 앱창작터 2일차:Cocos2d-X 기본기능
동국대 앱창작터 2일차:Cocos2d-X 기본기능동국대 앱창작터 2일차:Cocos2d-X 기본기능
동국대 앱창작터 2일차:Cocos2d-X 기본기능
 
이호민
이호민이호민
이호민
 
TestExplorer 소개 - Android application GUI testing tool
TestExplorer 소개 - Android application GUI testing toolTestExplorer 소개 - Android application GUI testing tool
TestExplorer 소개 - Android application GUI testing tool
 
TestExplorer 소개 - Android application GUI testing tool
TestExplorer 소개 - Android application GUI testing toolTestExplorer 소개 - Android application GUI testing tool
TestExplorer 소개 - Android application GUI testing tool
 

Mehr von sung ki choi

[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
sung ki choi
 
[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장
sung ki choi
 
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
sung ki choi
 
[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장
sung ki choi
 
[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표
sung ki choi
 

Mehr von sung ki choi (16)

[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장
 
[120316] node.js 프로그래밍 5장
[120316] node.js 프로그래밍 5장[120316] node.js 프로그래밍 5장
[120316] node.js 프로그래밍 5장
 
제프리 리처의 Windows via C/C++ : 8장 유저 모드에서의 스레드 동기화
제프리 리처의 Windows via C/C++ : 8장 유저 모드에서의 스레드 동기화제프리 리처의 Windows via C/C++ : 8장 유저 모드에서의 스레드 동기화
제프리 리처의 Windows via C/C++ : 8장 유저 모드에서의 스레드 동기화
 
[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임[111217 아꿈사연말모임] 웹소켓과온라인게임
[111217 아꿈사연말모임] 웹소켓과온라인게임
 
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
[아꿈사/111105] html5 9장 클라이언트측 데이터로 작업하기
 
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
[111015/아꿈사] HTML5를 여행하는 비(非) 웹 개발자를 위한 안내서 - 1부 웹소켓.
 
[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장[아꿈사/110903] 도메인주도설계 4장
[아꿈사/110903] 도메인주도설계 4장
 
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
[110730/아꿈사발표자료] mongo db 완벽 가이드 : 7장 '고급기능'
 
[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장[아꿈사/110528] 멀티코어cpu이야기 5,6장
[아꿈사/110528] 멀티코어cpu이야기 5,6장
 
[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표[아꿈사/110514] 멀티코어cpu이야기 시작발표
[아꿈사/110514] 멀티코어cpu이야기 시작발표
 
[110331] visual studio 속성 관리자
[110331] visual studio 속성 관리자[110331] visual studio 속성 관리자
[110331] visual studio 속성 관리자
 
100828 [visual studio camp #1] C++0x와 Windows7
100828 [visual studio camp #1] C++0x와 Windows7100828 [visual studio camp #1] C++0x와 Windows7
100828 [visual studio camp #1] C++0x와 Windows7
 
110212 [아꿈사발표자료] taocp#1 1.2.8. 피보나치수열
110212 [아꿈사발표자료] taocp#1 1.2.8. 피보나치수열110212 [아꿈사발표자료] taocp#1 1.2.8. 피보나치수열
110212 [아꿈사발표자료] taocp#1 1.2.8. 피보나치수열
 
101102 endofdb select.1_rdbms
101102 endofdb select.1_rdbms101102 endofdb select.1_rdbms
101102 endofdb select.1_rdbms
 
100526 windows7 mfc_최성기_배포용
100526 windows7 mfc_최성기_배포용100526 windows7 mfc_최성기_배포용
100526 windows7 mfc_최성기_배포용
 
100511 boost&tips 최성기
100511 boost&tips 최성기100511 boost&tips 최성기
100511 boost&tips 최성기
 

Touch Ux With Win32