Compartilhar via


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

[ITextInputPanel está disponível para uso nos sistemas operacionais especificados na seção Requisitos. Ele poderá ser alterado ou ficar indisponível em versões subsequentes. Em vez disso, use IInputPanelConfiguration.

]

Posiciona explicitamente o Painel de Entrada do Tablet pc nas coordenadas da tela.

Sintaxe

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

Parâmetros

xPosition

A coordenada x horizontal para o canto superior esquerdo do Painel de Entrada, sem nenhum pente de correção visível.

yPosition

A coordenada y vertical para o canto superior esquerdo do Painel de Entrada, sem nenhum pente de correção visível.

position

A direção em que o pente de correção pós-inserção deve aparecer, conforme definido pela enumeração CorrectionPosition .

Retornar valor

Retorna false quando o Painel de Entrada está aberto (encaixado ou flutuante) e não pode ser movido; caso contrário, retornará true.

Código de retorno Descrição
S_OK
Êxito.
E_FAIL
Ocorreu um erro não especificado.

Comentários

Nota No Windows 7, chamar SetInPlacePosition não usará mais o parâmetro CorrectionPosition .
 
Tenha em mente a altura do pente de correção ao decidir onde posicionar o Painel de Entrada para manter o Painel de Entrada e o pente de correção na tela. A direção especificada no parâmetro position substitui o conjunto de direções usando a propriedade ITextInputPanel::P referredInPlaceDirection.

Não há restrições sobre onde o Painel de Entrada pode ser posicionado. É responsabilidade do desenvolvedor do aplicativo garantir que o Painel de Entrada não saia da tela. A propriedade ITextInputPanel::InPlaceBoundingRectangle, propriedade ITextInputPanel::P opUpCorrectionHeight e ITextInputPanel::P opDownCorrectionHeight, juntamente com o Método ITextInputPanelEventSink::InPlaceSizeChanging, pode ser usada para essa finalidade.

Esse método é síncrono. O posicionamento ocorre antes que o método retorne.

Exemplos

Este exemplo do C++ implementa um EN_SETFOCUS manipulador de eventos para um controle Editar, IDC_EDIT3. Primeiro, ele verifica se um objeto ITextInputPanel , g_pTip, foi criado. Se existir, ele relatará os valores de várias propriedades da Interface ITextInputPanel para depurar a saída usando a macro TRACE . Ele também define a posição do Painel de Entrada chamando o 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 Valor
Cliente mínimo com suporte Windows XP Tablet PC Edition [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho peninputpanel.h
DLL Tiptsf.dll

Confira também

ITextInputPanel Interface

Método ITextInputPanel::SetInPlaceHoverTargetPosition

Método ITextInputPanel::SetInPlaceVisibility