Compartir a través de


Método ITextInputPanel::SetInPlacePosition (peninputpanel.h)

[ITextInputPanel está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En versiones posteriores podría modificarse o no estar disponible. En su lugar, use IInputPanelConfiguration.

]

Coloca explícitamente el panel de entrada del pc tableta en coordenadas de pantalla.

Sintaxis

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

Parámetros

xPosition

Coordenada x horizontal de la esquina superior izquierda del Panel de entrada, sin ningún verbo de corrección visible.

yPosition

Coordenada y vertical para la esquina superior izquierda del Panel de entrada, sin ningún verbo de corrección visible.

position

Dirección en la que debe aparecer el comb posterior a la corrección de inserción, tal y como se define en la enumeración CorrectionPosition .

Valor devuelto

Devuelve false cuando el Panel de entrada está abierto (acoplado o flotante) y no se puede mover; de lo contrario, devuelve true.

Código devuelto Descripción
S_OK
Correcto.
E_FAIL
Se ha producido un error no especificado.

Comentarios

Nota En Windows 7, llamar a SetInPlacePosition ya no usará el parámetro CorrectionPosition .
 
Tenga en cuenta el alto del verbo de corrección al decidir dónde colocar el Panel de entrada para mantener el Panel de entrada y el comb de corrección en pantalla. La dirección especificada en el parámetro position invalida el conjunto de direcciones mediante la propiedad ITextInputPanel::P referredInPlaceDirection.

No hay ninguna restricción sobre dónde se puede colocar el Panel de entrada. Es responsabilidad del desarrollador de aplicaciones asegurarse de que el Panel de entrada no sale de la pantalla. La propiedad ITextInputPanel::InPlaceBoundingRectangle, ITextInputPanel::P opUpCorrectionHeight Property e ITextInputPanel::P opDownCorrectionHeight, junto con la propiedad ITextInputPanelEventSink::InPlaceSizeChanging, se puede usar para este fin.

Este método es sincrónico. El posicionamiento se produce antes de que el método devuelva.

Ejemplos

En este ejemplo de C++ se implementa un EN_SETFOCUS controlador de eventos para un control Edit, IDC_EDIT3. Primero comprueba si se ha creado un objeto ITextInputPanel , g_pTip, . Si existe, notifica los valores de varias propiedades de ITextInputPanel Interface para depurar la salida mediante la macro TRACE . También establece la posición del Panel de entrada llamando al método ITextInputPanel::SetInPlacePosition.

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");
    }
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP Tablet PC Edition [solo aplicaciones de escritorio]
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado peninputpanel.h
Archivo DLL Tiptsf.dll

Consulte también

ITextInputPanel (interfaz)

ITextInputPanel::SetInPlaceHoverTargetPosition (Método)

ITextInputPanel::SetInPlaceVisibility (Método)