Поделиться через


Метод ITextInputPanel::SetInPlacePosition (peninputpanel.h)

[ITextInputPanel доступен для использования в операционных системах, указанных в разделе Требования. В последующих версиях он может быть изменен или недоступен. Вместо этого используйте IInputPanelConfiguration.

]

Явным образом размещает панель ввода планшетного пк в экранных координатах.

Синтаксис

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

Параметры

xPosition

Горизонтальная координата по оси X для левого верхнего угла панели ввода без расчески коррекции.

yPosition

Вертикальная координата по оси Y для левого верхнего угла панели ввода без видимой расчески коррекции.

position

Направление, в соответствии с которым должно появиться расческа после вставки, как определено перечислением CorrectionPosition .

Возвращаемое значение

Возвращает значение false , если панель ввода открыта (закрепленная или плавающая) и не может быть перемещена; в противном случае возвращается значение true.

Код возврата Описание
S_OK
Успешно.
E_FAIL
Произошла неизвестная ошибка.

Комментарии

Примечание В Windows 7 вызов SetInPlacePosition больше не будет использовать параметр CorrectionPosition .
 
Учитывайте высоту расчески коррекции при выборе расположения панели ввода, чтобы сохранить панель ввода и расческу коррекции на экране. Направление, указанное в параметре position , переопределяет направление, заданное с помощью свойства ITextInputPanel::P referredInPlaceDirection.

Нет ограничений на расположение панели ввода. Разработчик приложения отвечает за то, чтобы панель ввода не сходит с экрана. Для этой цели можно использовать свойства ITextInputPanel::InPlaceBoundingRectangle, ITextInputPanel::P opUpCorrectionHeight и ITextInputPanel::P opDownCorrectionHeight, а также метод ITextInputPanelEventSink::InPlaceSizeChanging.

Этот метод является синхронным. Позиционирование выполняется перед возвратом метода.

Примеры

В этом примере C++ реализуется EN_SETFOCUS обработчик событий для элемента управления Edit , IDC_EDIT3. Сначала проверяется, g_pTipсоздан ли объект ITextInputPanel . Если он существует, он сообщает значения нескольких свойств интерфейса ITextInputPanel для отладки выходных данных с помощью макроса TRACE . Он также задает положение панели ввода путем вызова метода 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");
    }
}

Требования

Требование Значение
Минимальная версия клиента Windows XP Tablet PC Edition [только классические приложения]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header peninputpanel.h
DLL Tiptsf.dll

См. также раздел

Интерфейс ITextInputPanel

Метод ITextInputPanel::SetInPlaceHoverTargetPosition

Метод ITextInputPanel::SetInPlaceVisibility