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 |
---|---|
|
Correcto. |
|
Se ha producido un error no especificado. |
Comentarios
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 |