Freigeben über


ITextStoreAnchor::GetAnchorFromPoint-Methode (textstor.h)

Die ITextStoreAnchor::GetAnchorFromPoint-Methode konvertiert einen Punkt in Bildschirmkoordinaten in einen Anker, der an einer entsprechenden Position positioniert ist.

Syntax

HRESULT GetAnchorFromPoint(
  [in]  TsViewCookie vcView,
  [in]  const POINT  *ptScreen,
  [in]  DWORD        dwFlags,
  [out] IAnchor      **ppaSite
);

Parameter

[in] vcView

Gibt die Kontextansicht an.

[in] ptScreen

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

[in] dwFlags

Gibt die zurückzugebende Ankerposition basierend auf den Bildschirmkoordinaten des Punkts relativ zu einem zeichengebundenen Feld an. Standardmäßig ist die zurückgegebene Ankerposition das zeichengebundene Feld, das die Bildschirmkoordinaten des Punkts enthält. Wenn sich der Punkt außerhalb eines Zeichenbegrenzungsrahmens befindet, gibt die Methode NULL oder TF_E_INVALIDPOINT zurück. Andere Bitflags für diesen Parameter sind wie folgt.

Die Bitflags können kombiniert werden.

Wert Bedeutung
GXFPF_ROUND_NEAREST
Wenn die Bildschirmkoordinaten des Punkts in einem Zeichenbegrenzungsfeld enthalten sind, wird an der Begrenzungskante, die den Bildschirmkoordinaten des Punkts am nächsten kommt, ein Anker zurückgegeben.
GXFPF_NEAREST
Wenn die Bildschirmkoordinaten des Punkts nicht in einem Zeichenbegrenzungsfeld enthalten sind, wird ein Anker an der nächstgelegenen Zeichenposition zurückgegeben.

[out] ppaSite

Zeiger auf ein Ankerobjekt an einer Position, die den Bildschirmkoordinaten ptScreen entspricht.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Wert BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
E_FAIL
Fehler bei der Methode.
E_INVALIDARG
Mindestens ein Eingabeparameter ist ungültig.
E_OUTOFMEMORY
Fehler beim Instanziieren eines Ankers am angegebenen Speicherort.
TS_E_INVALIDPOINT
Der ptScreen-Parameter befindet sich nicht innerhalb des Begrenzungsrahmens eines Zeichens.
TS_E_NOLAYOUT
Die Anwendung hat noch kein Textlayout berechnet.

Hinweise

Punkt 1 befindet sich im Begrenzungsrahmen für Zeichen, und Punkt 2 befindet sich außerhalb des Zeichenbegrenzungsrahmens. Die Bildschirmkoordinaten des Punkts 1 bewirken, dass der Offset (Zeichenposition) des Ankers ppaSite standardmäßig 0 ist, oder wenn der dwFlags-Parameter auf GXFPF_NEAREST festgelegt ist, da sich die Bildschirmkoordinaten des Punkts 1 innerhalb des Zeichenbegrenzungsfelds der Zeichenposition 0 befinden. Wenn der dwFlags-Parameter für Punkt 1 auf GXFPF_ROUND_NEAREST festgelegt ist, ist der Ankeroffset 1, da die Bildschirmkoordinaten punkt 1 der Position 1 des Bereichs am nächsten sind. Bereichsposition 1 ist die Anfangsbereichsposition der Zeichenposition 1.

Für die Punkt-2-Bildschirmkoordinaten gibt die -Methode standardmäßig TF_E_INVALIDPOINT zurück, oder wenn der dwFlags-Parameter auf GXFPF_NEAREST festgelegt ist, da sich die Bildschirmkoordinaten des Punkts 2 außerhalb eines Zeichenbegrenzungsrahmens befinden. Wenn der dwFlags-Parameter auf GXFPF_ROUND_NEAREST festgelegt ist, bewirkt die Punkt-2-Bildschirmkoordinaten, dass der Ankeroffset 1 ist, da die zeichennächste Position zu den Punkt 2-Bildschirmkoordinaten Zeichenposition 1 ist.

Punkt 1

  • Standard-- Ankeroffset = 0 - Der Bildschirmkoordinatenpunkt befindet sich innerhalb des Zeichenbegrenzungsrahmens von Zeichenposition 0.
  • -- GXFPF_ROUND_NEARESTanchor offset = 1 --Die Bildschirmkoordinaten des Punkts sind am nächsten an Bereichsposition 1, die die Anfangsbereichsposition von Zeichenposition 1 ist.
  • -- GXFPF_NEARESTanchor offset = 0 --Das Standardverhalten tritt auf, weil sich der Punkt innerhalb des Zeichenbegrenzungsrahmens von Zeichenposition 0 befindet.
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-- Ankeroffset = 1 --Die zeichennächste Position zu den Bildschirmkoordinaten des Punkts ist Zeichenposition 1.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile textstor.h
DLL Msctf.dll
Verteilbare Komponente TSF 1.0 unter Windows 2000 Professional

Weitere Informationen

GXFPF_*-Konstanten

ITextStoreAnchor

ITfContextView::GetRangeFromPoint

Manager-Rückgabewerte

TsViewCookie