Freigeben über


IDirectManipulationViewport::SetContact-Methode (directmanipulation.h)

Gibt eine Zuordnung zwischen einem Kontakt und dem Viewport an.

Syntax

HRESULT SetContact(
  [in] UINT32 pointerId
);

Parameter

[in] pointerId

Die ID des Zeigers.

Rückgabewert

Wenn die Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Bemerkungen

Rufen Sie diese Methode auf, wenn eine WM_POINTERDOWN Nachricht empfangen wird. Beim Empfang eines WM_POINTERDOWN kann die Anwendung die Koordinaten der Eingabe verwenden, um treffertest und die Viewports zu bestimmen, denen der Kontakt zugeordnet ist.

DeferContact muss vor SetContact aufgerufen werden.

Nach der Initialisierung werden bei der direkten Bearbeitung keine Viewport-Z-Reihenfolge- oder über-/untergeordnete Beziehungen zwischen Viewports angezeigt. Die Reihenfolge der SetContact-Aufrufe definiert die Viewportstruktur. Um die richtige Viewporthierarchie einzurichten, sollte SetContact zuerst für den untergeordneten Viewport aufgerufen werden, gefolgt vom übergeordneten Element, dem übergeordneten Element usw.

Verwenden Sie GET_POINTERID_WPARAM , um den Zeigerbezeichner aus einer Zeigernachricht abzurufen. Der Kontakt wird automatisch entfernt, wenn WM_POINTERUP empfangen wird.

Wenn ein Kontakt mithilfe der SetContact-Methode einem oder mehreren Viewports zugeordnet ist, wird die direkte Bearbeitung weitere Eingaben dieses Kontakts untersuchen und versuchen, basierend auf der Konfiguration der zugeordneten Viewports eine geeignete Bearbeitung zu identifizieren. Wenn eine Manipulation erkannt wird, erhält die Anwendung eine WM_POINTERCAPTURECHANGED Nachricht für diesen Kontakt. In diesem Kontext gibt die WM_POINTERCAPTURECHANGED Meldung an, dass die direkte Bearbeitung den Kontakt erfasst hat und die Anwendung keine Eingaben von diesem Kontakt empfängt, der für diese Manipulation verwendet wird.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile directmanipulation.h

Weitere Informationen

IDirectManipulationViewport

Benutzereingabemeldungen und Benachrichtigungen