Partager via


ITextInputPanel ::SetInPlacePosition, méthode (peninputpanel.h)

[ITextInputPanel est disponible pour une utilisation dans les systèmes d’exploitation spécifiés dans la section Configuration requise. Il sera peut-être modifié ou indisponible dans les versions ultérieures. Utilisez plutôt IInputPanelConfiguration.

]

Positionne explicitement le panneau d’entrée tablet PC dans les coordonnées de l’écran.

Syntaxe

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

Paramètres

xPosition

Coordonnée x horizontale pour le coin supérieur gauche du panneau d’entrée, sans peigne de correction visible.

yPosition

Coordonnée y verticale pour le coin supérieur gauche du panneau d’entrée, sans peigne de correction visible.

position

Direction dans laquelle le peigne de correction post-insertion doit apparaître, comme défini par l’énumération CorrectionPosition .

Valeur retournée

Retourne false lorsque le panneau d’entrée est ouvert (ancré ou flottant) et ne peut pas être déplacé ; sinon, il retourne true.

Code de retour Description
S_OK
Réussite.
E_FAIL
Une erreur non spécifiée s'est produite.

Remarques

Note Dans Windows 7, l’appel de SetInPlacePosition n’utilise plus le paramètre CorrectionPosition .
 
Prenez la hauteur du peigne de correction à l’esprit lorsque vous décidez où positionner le panneau d’entrée afin de conserver le panneau d’entrée et le peigne de correction à l’écran. La direction spécifiée dans le paramètre position remplace le jeu de directions à l’aide de la propriété ITextInputPanel ::P referredInPlaceDirection.

Il n’existe aucune restriction quant à l’emplacement où le panneau d’entrée peut être positionné. Il incombe au développeur d’application de s’assurer que le panneau d’entrée ne s’éteint pas de l’écran. La propriété ITextInputPanel ::InPlaceBoundingRectangle, la propriété ITextInputPanel ::P opUpCorrectionHeight et la propriété ITextInputPanel ::P opDownCorrectionHeight, ainsi que la méthode ITextInputPanelEventSink ::InPlaceSizeChanging, peuvent être utilisées à cet effet.

Cette méthode est synchrone. Le positionnement se produit avant le retour de la méthode.

Exemples

Cet exemple C++ implémente un gestionnaire d’événements EN_SETFOCUS pour un contrôle Edit, IDC_EDIT3. Il vérifie d’abord si un objet ITextInputPanel , g_pTip, a été créé. S’il existe, il signale les valeurs de plusieurs propriétés de l’interface ITextInputPanel pour déboguer la sortie à l’aide de la macro TRACE . Il définit également la position du panneau d’entrée en appelant la méthode 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");
    }
}

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP Édition Tablet PC [applications de bureau uniquement]
Serveur minimal pris en charge Aucun pris en charge
Plateforme cible Windows
En-tête peninputpanel.h
DLL Tiptsf.dll

Voir aussi

ITextInputPanel, interface

ITextInputPanel ::SetInPlaceHoverTargetPosition, méthode

ITextInputPanel ::SetInPlaceVisibility, méthode