GESTURECONFIG 구조 와 CGesture Config 클래스
///
/// CGestureConfig class allows to customize Windows gesture features such as zoom, pan or rotate. This class is used in CWnd::SetGestureConfig and CWnd::GetGestureConfig methods.
class CGestureConfig : public CObject
{
friend class CWnd;
public:
///
/// CGestureConfig constructor
CGestureConfig();
///
/// CGestureConfig destructor
virtual ~CGestureConfig();
///
/// Enable/disable gesture zoom
/// TRUE - enable the feature. FALSE - disable it
void EnableZoom(BOOL bEnable = TRUE);
///
/// Enable/disable gesture rotate
/// TRUE - enable the feature. FALSE - disable it
void EnableRotate(BOOL bEnable = TRUE);
///
/// Enable/disable gesture 2 finger tap
/// TRUE - enable the feature. FALSE - disable it
void EnableTwoFingerTap(BOOL bEnable = TRUE);
///
/// Enable/disable gesture press and tap
/// TRUE - enable the feature. FALSE - disable it
void EnablePressAndTap(BOOL bEnable = TRUE);
///
/// Enable/disable gesture pan
/// TRUE - enable the feature. FALSE - disable it
/// Gesture pan flags. Can be either GC_PAN (all pan gestures) or combination of the following flags: GC_PAN_WITH_SINGLE_FINGER_VERTICALLY, GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY, GC_PAN_WITH_GUTTER and GC_PAN_WITH_INTERTIA
void EnablePan(BOOL bEnable = TRUE, DWORD dwFlags = GC_PAN_WITH_GUTTER | GC_PAN_WITH_INERTIA);
///
/// Determines whether the gesture zoom feature is enabled
///
/// TRUE if the feature is enabled; otherwise FALSE.
BOOL IsZoomEnabled() const { return (Get(GID_ZOOM) & GC_ZOOM) == GC_ZOOM; }
///
/// Determines whether the gesture rotate feature is enabled
///
/// TRUE if the feature is enabled; otherwise FALSE.
BOOL IsRotateEnabled() const { return (Get(GID_ROTATE) & GC_ROTATE) == GC_ROTATE; }
///
/// Determines whether the gesture 2 finger tap feature is enabled
///
/// TRUE if the feature is enabled; otherwise FALSE.
BOOL IsTwoFingerTapEnabled() const { return (Get(GID_TWOFINGERTAP) & GC_TWOFINGERTAP) == GC_TWOFINGERTAP; }
#if defined(GID_PRESSANDTAP) && defined(GC_PRESSANDTAP)
///
/// Determines whether the gesture "press and tap" feature is enabled
///
/// TRUE if the feature is enabled; otherwise FALSE.
BOOL IsPressAndTapEnabled() const { return (Get(GID_PRESSANDTAP) & GC_PRESSANDTAP) == GC_PRESSANDTAP; }
#endif
///
/// Determines whether the gesture pan feature is enabled
///
/// TRUE if the feature is enabled; otherwise FALSE.
BOOL IsPanAllEnabled() const { return (Get(GID_PAN) & GC_PAN) == GC_PAN; }
///
/// Determines whether the gesture pan vertical feature is enabled
///
/// TRUE if the feature is enabled; otherwise FALSE.
BOOL IsPanVerticalEnabled() const { return (Get(GID_PAN) & GC_PAN_WITH_SINGLE_FINGER_VERTICALLY) == GC_PAN_WITH_SINGLE_FINGER_VERTICALLY; }
///
/// Determines whether the gesture pan horizontal feature is enabled
///
/// TRUE if the feature is enabled; otherwise FALSE.
BOOL IsPanHorizontalEnabled() const { return (Get(GID_PAN) & GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY) == GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY; }
///
/// Determines whether the gesture pan with gutter feature is enabled
///
/// TRUE if the feature is enabled; otherwise FALSE.
BOOL IsPanWithGutterEnabled() const { return (Get(GID_PAN) & GC_PAN_WITH_GUTTER) == GC_PAN_WITH_GUTTER; }
///
/// Determines whether the gesture pan with inertia feature is enabled
///
/// TRUE if the feature is enabled; otherwise FALSE.
BOOL IsPanWithInertiaEnabled() const { return (Get(GID_PAN) & GC_PAN_WITH_INERTIA) == GC_PAN_WITH_INERTIA; }
///
/// Modify specific gesture touch paramaters
///
/// TRUE if succeeds; otherwise FALSE.
/// Gesture feature ID. Can be one of the following: GID_ZOOM, GID_PAN, GID_ROTATE, GID_TWOFINGERTAP or GID_PRESSANDTAP
/// Gesture features to enable. Can be 0 or GC_ALLGESTURES for all features except GID_PAN and GC_PAN or combination of the following flags: GC_PAN_WITH_SINGLE_FINGER_VERTICALLY, GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY, GC_PAN_WITH_GUTTER and GC_PAN_WITH_INTERTIA for gesture pan
BOOL Modify(DWORD dwID, DWORD dwWant = GC_ALLGESTURES, DWORD dwBlock = 0);
///
/// Obtains a specific gesture touch paramaters
///
/// Gesture features. Can be 0 or GC_ALLGESTURES for all features except GID_PAN and GC_PAN or combination of the following flags: GC_PAN_WITH_SINGLE_FINGER_VERTICALLY, GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY, GC_PAN_WITH_GUTTER and GC_PAN_WITH_INTERTIA for gesture pan
/// Gesture feature ID. Can be one of the following: GID_ZOOM, GID_PAN, GID_ROTATE, GID_TWOFINGERTAP or GID_PRESSANDTAP
/// TRUE - the method returns the enabled features; FALSE - disabled
DWORD Get(DWORD dwID, BOOL bWant = TRUE) const;
#ifdef _DEBUG
virtual void Dump(CDumpContext& dc) const;
#endif
protected:
PGESTURECONFIG m_pConfigs;
int m_nConfigs;
};
다음은 GESTURECONFIG 에 대한 상세 한 설명 입 니 다.
필세 메 시 지 를 사용 할 설정 과 이 설정 의 종 류 를 가 져 오고 설정 합 니 다.
문법
typedef struct _GESTURECONFIG {
DWORD dwID;
DWORD dwWant;
DWORD dwBlock;
} GESTURECONFIG, *PGESTURECONFIG;
구성원
dwID
메시지 설정 형식의 식별 자 를 사용 하거나 사용 하지 않 습 니 다.더 많은 정보 에 대해 서 는 "비고" 를 참조 하 시기 바 랍 니 다.
dwWant
사용 할 메시지 입 니 다.
dwBlock
사용 하지 않 을 메시지 입 니 다.
코 멘 트
두 손가락 을 평평 하 게 이동 시 키 지 않 고 한 손가락 을 평평 하 게 이동 시 킬 수 없습니다.먼저 GCPAN 에 필요 한 위 치 를 설정 해 야 GCPAN_WITH_SINGLE_FINGER_HORIZONTALLY 또는 GCPAN_WITH_SINGLE_FINGER_VERTICALLY 에서 설정 합 니 다.
하면, 만약, 만약... SetGestureConfig 지연 을 사용 하지 않 으 려 면 GFEND 로고 의 GIDPAN 메시지 에는 지연 벡터 가 포 함 됩 니 다.
이 구 조 를 전달 할 때 dwID 구성원 들 은 필세 에 관 한 정 보 를 포함 할 것 이다.이것 은 다른 표지 의 의 미 를 확정 할 것 이다.메 시 지 를 이동 하기 위해 표 지 를 설정 하면 이 표 지 는 회전 메 시 지 를 위 한 표지 와 다 를 것 입 니 다.
아래 표 지시 GESTURECONFIG 구조 적 dwID 구성원 이 지원 하 는 필세 의 각종 식별 자.하면, 만약, 만약... dwID 0 으로 설정 하면 전역 필세 설정 표 지 를 표시 합 니 다.
명칭.
값.
설명 하 다.
GID_ZOOM
3
필세 크기 조정 설정 을 표시 합 니 다.
GID_PAN
4
지시 평이 필세.
GID_ROTATE
5
지시 회전 필세.
GID_TWOFINGERTAP
6
두 손가락 으로 필세 클릭 을 지시 하 다.
GID_PRESSANDTAP
7
지 시 는 펜 세 를 누 르 고 클릭 합 니 다.
... 해 야 한다 dwID 0 으로 설정 할 때 아래 표 지 를 사용 합 니 다.
명칭.
값.
설명 하 다.
GC_ALLGESTURES
0x00000001
모든 필 세 를 지시 하 다.
... 해 야 한다 dwID GID 로 설정ZOOM 시 아래 표 지 를 사용 합 니 다.
명칭.
값.
설명 하 다.
GC_ZOOM
0x00000001
글자 크기 조정 을 지시 합 니 다.
... 해 야 한다 dwID GID 로 설정PAN 시 아래 표 지 를 사용 합 니 다.
명칭.
값.
설명 하 다.
GC_PAN
0x00000001
모든 평이 한 필세 를 지시 하 다.
GC_PAN_WITH_SINGLE_FINGER_VERTICALLY
0x00000002
지시 단 지 는 수직 으로 이동 하 는 것 을 가리킨다.
GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY
0x00000004
지시
GC_PAN_WITH_GUTTER
0x00000008
수직 이동 을 주 방향 으로 제한 하여 특정한 한도 값 에 도달 하여 슬롯 을 돌파 할 때 까지 한다.
GC_PAN_WITH_INERTIA
0x00000010
평이 한 필세 가 멈 출 때 부 드 럽 게 천천히 멈 출 수 있 도록 시간 지연 이 있 는 평 이 를 표시 합 니 다.
주의 하 다. ... 에 있다 SetGestureConfig 설정 GIDPAN 플래그 는 이동 을 위 한 기본 필세 처리 프로그램 에 영향 을 줍 니 다.같은 플래그 에 dwWant 와 dwBlock 을 동시에 설정 해 서 는 안 됩 니 다.이것 은 의외 의 행 위 를 초래 할 것 이다.평이 와 구 판 평이 지원 에 대한 더 많은 정 보 는 참고 하 시기 바 랍 니 다 Windows Touch 필세;필세 사용 및 저지 에 관 한 예 시 는 참고 하 시기 바 랍 니 다. SetGestureConfig。
... 해 야 한다 dwID GID 로 설정ROTATE 시 아래 표 지 를 사용 합 니 다.
명칭.
값.
설명 하 다.
GC_ROTATE
0x00000001
지시 회전 필세.
... 해 야 한다 dwID GID 로 설정TWOFING ERTAP 시 아래 표 지 를 사용 합 니 다.
명칭.
값.
설명 하 다.
GC_TWOFINGERTAP
0x00000001
두 손가락 으로 필세 클릭 을 지시 하 다.
... 해 야 한다 dwID GID 로 설정PRESSANDTAP 시 아래 표 지 를 사용 합 니 다.
명칭.
값.
설명 하 다.
GC_PRESSANDTAP
0x00000001
지 시 는 펜 세 를 누 르 고 클릭 합 니 다.
예시
GESTURECONFIG gc[3];
UINT uiGcs = 3;
ZeroMemory(&gc, sizeof(gc));
gc[0].dwID = GID_ZOOM;
gc[1].dwID = GID_ROTATE;
gc[2].dwID = GID_PAN;
BOOL bResult = GetGestureConfig(hWnd, 0, 0, &uiGcs, gc, sizeof(GESTURECONFIG));
if (!bResult){
DWORD err = GetLastError();
}
요구 하 다.
최소 지원 클 라 이언 트
Windows 7
최소 지원 서버
Windows Server 2008 R2
표두
Winuser. h (Windows. h 포함)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[WinIoT/라즈파이] VS2019로 만든 UWP의 sln을 라즈파이 3+WinIoTCore로 원격 디버깅을 할 수 없을 때의 대처2021년 1월 시점에서 라즈파이 3에 WindowsIoTCore를 넣고 VisualStudio2019에서 UWP 앱을 새로 만들고 디버깅하려고 했는데 잘 디버깅할 수 없었다. 구체적으로는, 「리모트 디버거에 접속할...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.