Freigeben über


IAnchor::Shift-Methode (textstor.h)

Die IAnchor::Shift-Methode verschiebt den Anker innerhalb eines Textstroms vorwärts oder rückwärts.

Syntax

HRESULT Shift(
  [in]  DWORD   dwFlags,
  [in]  LONG    cchReq,
  [out] LONG    *pcch,
  [in]  IAnchor *paHaltAnchor
);

Parameter

[in] dwFlags

Bitfelder, die verwendet werden, um die Ankerpositionierung zu vermeiden.

Wert Bedeutung
TS_SHIFT_COUNT_ONLY
Der Anker wird nicht verschoben. Wenn das Flag nicht festgelegt ist (dwFlags = 0), wird der Anker verschoben, wie in den anderen Parametereinstellungen angegeben.

[in] cchReq

Die Anzahl der Zeichen, die den Anker innerhalb des Textstreams verschieben sollen.

[out] pcch

Die tatsächliche Anzahl von Zeichen, die innerhalb des Textstreams verschoben wurden. Die Methode legt pcch auf 0 fest, wenn ein Fehler auftritt.

[in] paHaltAnchor

Verweis auf einen Anker, der die Verschiebung blockiert. Legen Sie auf NULL fest, um zu vermeiden, dass die Verschiebung blockiert wird.

Rückgabewert

Diese Methode kann einen dieser Werte zurückgeben.

Wert BESCHREIBUNG
S_OK
Die Methode war erfolgreich.
E_FAIL
Fehler bei der Verschiebung.
E_INVALIDARG
Ein Eingabeparameterwert ist ungültig.
E_NOTIMPL
Der dwFlags-Parameterwert wird in dieser Methode nicht implementiert.

Hinweise

cchReq - und pcch-Parameter können negativ sein, d. h. eine Verschiebung rückwärts im Textstrom oder positiv, was eine Verschiebung nach vorne bedeutet. Die tatsächliche Anzahl der verschobenen Zeichen kann kleiner als cchReq sein, wenn der Anfang oder das Ende des Dokuments gefunden wird, eine Regionsgrenze gefunden wird oder wenn paHaltAnchor einen Anker empfängt, der die Verschiebung blockiert.

Wenn paHaltAnchor einen Anker empfängt, der die Verschiebung blockiert, schneidet die Anwendung die Verschiebung an der Position ab, die von paHaltAnchor belegt ist. Wenn paHaltAnchor sich nicht innerhalb der Von der Verschiebung abgedeckten Textspanne befindet, hat es keine Relevanz für die Verschiebung und wird ignoriert.

Wenn der Von paHaltAnchor referenzierte Anker beispielsweise 8 Zeichen vor dem Anker im Stream liegt und ein Client Shift (0, 10, pcch, paHaltAnchor) aufruft, hat der Anker beim Beenden nur 8 Zeichen verschoben. Wenn der von paHaltAnchor referenzierte Anker gleich dem aktuellen zu verschiebenden Anker ist, wird die Umschalttaste erfolgreich zurückgegeben, ohne den Anker überhaupt zu verschieben. In diesem Fall ist pcch 0.

Die Ankerverschiebung wird immer durch Regionsgrenzen blockiert, als ob der Anfang oder das Ende des Dokuments aufgetreten wäre. Dies wird beim Beenden dadurch angezeigt, dass der tatsächliche Schicht-Pcch im absoluten Wert kleiner ist als der angeforderte Shift cchReq. In diesem Fall können Clients IAnchor::ShiftRegion verwenden, um den Anker in eine angrenzende Region zu verschieben.

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 textstor.h
DLL Msctf.dll
Verteilbare Komponente TSF 1.0 unter Windows 2000 Professional

Weitere Informationen

IAnchor

IAnchor::ShiftRegion