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 |
---|---|
|
Êxito. |
|
Ocorreu um erro não especificado. |
Comentários
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 |