Freigeben über


ITfContextOwner::GetACPFromPoint-Methode (msctf.h)

Die ITfContextOwner::GetACPFromPoint-Methode konvertiert einen Punkt in Bildschirmkoordinaten in eine Anwendungszeichenposition.

Syntax

HRESULT GetACPFromPoint(
  [in]  const POINT *ptScreen,
  [in]  DWORD       dwFlags,
  [out] LONG        *pacp
);

Parameter

[in] ptScreen

Zeiger auf die POINT-Struktur mit den Bildschirmkoordinaten des Punkts.

[in] dwFlags

Gibt die zurückzugebende Zeichenposition basierend auf den Bildschirmkoordinaten des Punkts relativ zu einem zeichengebundenen Feld an. Standardmäßig ist die zurückgegebene Zeichenposition das Zeichenbegrenzungsfeld, das die Bildschirmkoordinaten des Punkts enthält. Wenn sich der Punkt außerhalb des Begrenzungsrahmens eines Zeichens befindet, gibt die Methode NULL oder TF_E_INVALIDPOINT zurück.

Wenn das GXFPF_ROUND_NEAREST-Flag für diesen Parameter angegeben ist und die Bildschirmkoordinaten des Punkts in einem Zeichenbegrenzungsfeld enthalten sind, ist die zurückgegebene Zeichenposition der Begrenzungskante, die den Bildschirmkoordinaten des Punkts am nächsten kommt.

Wenn das flag GXFPF_NEAREST für diesen Parameter angegeben ist und die Bildschirmkoordinaten des Punkts nicht in einem Zeichenbegrenzungsfeld enthalten sind, wird die nächstgelegene Zeichenposition zurückgegeben.

Die Bitflags können kombiniert werden.

[out] pacp

Empfängt die Zeichenposition, die den Bildschirmkoordinaten des Punkts entspricht.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Wert BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
TS_E_INVALIDPOINT
Der ptScreen-Parameter befindet sich nicht innerhalb des Begrenzungsrahmens eines Zeichens.
TS_E_NOLAYOUT
Die Anwendung hat kein Textlayout berechnet.

Hinweise

Punkt 1 befindet sich im Begrenzungsrahmen für Zeichen, und Punkt 2 befindet sich außerhalb des Zeichenbegrenzungsrahmens. Verwenden Sie die Abbildung, um die zurückgegebene Zeichenposition basierend auf den flags zu bestimmen, die im dwFlags-Parameter verwendet werden.

Punkt 1

  • Default-- pacp = 0 --Die Bildschirmkoordinaten des Punkts befinden sich innerhalb des Zeichenbegrenzungsrahmens von Zeichenposition 0.
  • GXFPF_ROUND_NEAREST-- pacp = 1 --Die Bildschirmkoordinaten des Punkts sind der Position 1 des Bereichs am nächsten, was die Anfangsbereichsposition von Zeichenposition 1 ist.
  • GXFPF_NEAREST-- pacp = 0 --Das Standardverhalten tritt auf, weil der Punkt innerhalb des Zeichenbegrenzungsrahmens der Zeichenposition 0 liegt.
Punkt 2
  • Default-- hr = TF_E_INVALIDPOINT --Die Bildschirmkoordinaten des Punkts befinden sich außerhalb eines Zeichenbegrenzungsrahmens.
  • GXFPF_ROUND_NEAREST-- hr = TF_E_INVALIDPOINT --Das Standardverhalten tritt auf, weil sich die Bildschirmkoordinaten des Punkts außerhalb eines Zeichenbegrenzungsrahmens befinden.
  • GXFPF_NEAREST-- pacp = 1 --Die zeichennächste Position zu den Bildschirmkoordinaten des Punkts ist Zeichenposition 1.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile msctf.h
DLL Msimtf.dll
Verteilbare Komponente TSF 1.0 unter Windows 2000 Professional

Weitere Informationen

ITextStoreACP::GetACPFromPoint

ITfContextOwner

ITfContextView::GetRangeFromPoint

TsViewCookie