Freigeben über


ITextInputPanel::SetInPlacePosition-Methode (peninputpanel.h)

[ITextInputPanel ist für die Verwendung in den im Abschnitt Anforderungen angegebenen Betriebssystemen verfügbar. Es kann in nachfolgenden Versionen geändert oder entfernt werden. Verwenden Sie stattdessen IInputPanelConfiguration.

]

Positioniert den Tablet PC-Eingabebereich explizit in Bildschirmkoordinaten.

Syntax

HRESULT SetInPlacePosition(
  int                xPosition,
  int                yPosition,
  CorrectionPosition position
);

Parameter

xPosition

Die horizontale x-Koordinate für die obere linke Ecke des Eingabebereichs, ohne dass ein Korrekturkamm sichtbar ist.

yPosition

Die vertikale y-Koordinate für die obere linke Ecke des Eingabebereichs, ohne dass ein Korrekturkamm sichtbar ist.

position

Die Richtung, in die der Korrekturkomb nach dem Einfügen angezeigt werden soll, wie durch die CorrectionPosition-Enumeration definiert.

Rückgabewert

Gibt false zurück, wenn der Eingabebereich geöffnet (angedockt oder schwebend) ist und nicht verschoben werden kann. Andernfalls wird true zurückgegeben.

Rückgabecode BESCHREIBUNG
S_OK
Erfolg.
E_FAIL
Es ist ein unbekannter Fehler aufgetreten.

Hinweise

Hinweis In Windows 7 wird beim Aufrufen von SetInPlacePosition der Parameter CorrectionPosition nicht mehr verwendet.
 
Berücksichtigen Sie die Höhe des Korrekturkamms, wenn Sie entscheiden, wo der Eingabebereich positioniert werden soll, um den Eingabebereich und den Korrekturkamm auf dem Bildschirm zu halten. Die im positions-Parameter angegebene Richtung überschreibt die mit der ITextInputPanel::P referredInPlaceDirection-Eigenschaft festgelegte Richtung.

Es gibt keine Einschränkungen hinsichtlich der Position des Eingabebereichs. Es liegt in der Verantwortung des Anwendungsentwicklers sicherzustellen, dass der Eingabebereich nicht den Bildschirm deaktiviert. Für diesen Zweck können die ITextInputPanel::InPlaceBoundingRectangle-Eigenschaft, die ITextInputPanel::P opUpCorrectionHeight-Eigenschaft und die ITextInputPanel::P opDownCorrectionHeight-Eigenschaft zusammen mit der ITextInputPanelEventSink::InPlaceSizeChanging-Methode verwendet werden.

Diese Methode ist synchron. Die Positionierung erfolgt, bevor die Methode zurückgegeben wird.

Beispiele

In diesem C++-Beispiel wird ein EN_SETFOCUS Ereignishandler für ein Edit-Steuerelement implementiert. IDC_EDIT3 Zuerst wird überprüft, ob ein ITextInputPanel-Objekt erstellt g_pTipwurde. Falls vorhanden, werden die Werte mehrerer Eigenschaften der ITextInputPanel-Schnittstelle gemeldet, um die Ausgabe mithilfe des TRACE-Makros zu debuggen. Außerdem wird die Position des Eingabebereichs festgelegt, indem die ITextInputPanel::SetInPlacePosition-Methode aufgerufen wird.

void CCOMTIPDlg::OnEnSetFocusEdit3()
{
    if (NULL != g_pTip)
    {
		CorrectionMode mode;

		if (SUCCEEDED(g_pTip->get_CurrentCorrectionMode(&mode)))
        {
			TRACE("CurrentCorrectionMode: %d\n", mode);
		}

		InPlaceState state;

		if (SUCCEEDED(g_pTip->get_CurrentInPlaceState(&state)))
        {
			TRACE("CurrentInPlaceState: %d\n", state);
		}

		PanelInputArea area;

		if (SUCCEEDED(g_pTip->get_CurrentInputArea(&area)))
        {
			TRACE("CurrentInputArea: %d\n", area);
		}

		InteractionMode iMode;

		if (SUCCEEDED(g_pTip->get_CurrentInteractionMode(&iMode)))
        {
			TRACE("CurrentInteractionMode: %d\n", iMode);
		}

        RECT rect;

		if (SUCCEEDED(g_pTip->get_InPlaceBoundingRectangle(&rect)))
        {
	        TRACE("InPlaceBoundingRectangle.top: %d\n", rect.top);
	        TRACE("InPlaceBoundingRectangle.left: %d\n", rect.left);
	        TRACE("InPlaceBoundingRectangle.bottom: %d\n", rect.bottom);
	        TRACE("InPlaceBoundingRectangle.right: %d\n", rect.right);
        }

	    int nHeight;

		if (SUCCEEDED(g_pTip->get_PopDownCorrectionHeight(&nHeight)))
        {
	        TRACE("PopDownCorrectionHeight: %d\n", nHeight);
        }

	    if (SUCCEEDED(g_pTip->get_PopUpCorrectionHeight(&nHeight)))
        {
	        TRACE("PopUpCorrectionHeight: %d\n", nHeight);
        }

		if (SUCCEEDED(g_pTip->SetInPlacePosition(300, 300, CorrectionPosition_Bottom)))
		{
			TRACE("Call to SetInPlacePosition() succeeded.\n");
		}
		else
		{
			TRACE("Call to SetInPlacePosition() failed.\n");
		}
    }
    else
    {
        TRACE("ITextInputPanel object is NULL.\n");
    }
}

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP Tablet PC Edition [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile peninputpanel.h
DLL Tiptsf.dll

Weitere Informationen

ITextInputPanel-Schnittstelle

ITextInputPanel::SetInPlaceHoverTargetPosition-Methode

ITextInputPanel::SetInPlaceVisibility-Methode