다음을 통해 공유


ITextInputPanel::SetInPlacePosition 메서드(peninputpanel.h)

[ITextInputPanel 은 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 IInputPanelConfiguration을 사용합니다.

]

태블릿 PC 입력 패널을 화면 좌표로 명시적으로 배치합니다.

구문

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

매개 변수

xPosition

보정 빗이 보이지 않는 입력 패널의 왼쪽 위 모서리에 대한 가로 x 좌표입니다.

yPosition

입력 패널의 왼쪽 위 모서리에 대한 세로 y 좌표이며 보정 빗이 보이지 않습니다.

position

수정 처리 열거형에 정의된 대로 삽입 후 수정 빗이 팝업되는 방향입니다.

반환 값

입력 패널이 열려 있고(도킹 또는 부동) 이동할 수 없는 경우 false 를 반환합니다. 그렇지 않으면 true를 반환 합니다.

반환 코드 Description
S_OK
성공.
E_FAIL
지정되지 않은 오류가 발생했습니다.

설명

참고 Windows 7에서 SetInPlacePosition 을 호출하면 더 이상 CorrectionPosition 매개 변수가 사용되지 않습니다.
 
입력 패널 및 수정 빗을 화면에 유지하기 위해 입력 패널의 위치를 결정할 때 수정 빗의 높이를 염두에 두어야 합니다. position 매개 변수에 지정된 방향은 ITextInputPanel::P referredInPlaceDirection 속성을 사용하여 설정된 방향을 재정의합니다.

입력 패널을 배치할 수 있는 위치에는 제한이 없습니다. 입력 패널이 화면에서 벗어나지 않도록 하는 것은 애플리케이션 개발자의 책임입니다. 이 용도로 ITextInputPanel::InPlaceBoundingRectangle 속성, ITextInputPanel::P opUpCorrectionHeight 속성ITextInputPanel::P opDownCorrectionHeight 속성ITextInputPanelEventSink::InPlaceSizeChanging 메서드를 사용할 수 있습니다.

이 메서드는 동기적이며, 위치 지정은 메서드가 반환되기 전에 발생합니다.

예제

이 C++ 예제에서는 편집 컨트롤 IDC_EDIT3EN_SETFOCUS 대한 이벤트 처리기를 구현합니다. 먼저 ITextInputPanel 개체 가 g_pTip만들어졌는지 확인합니다. 있는 경우 TRACE 매크로를 사용하여 출력을 디버그하기 위해 여러 ITextInputPanel 인터페이스 속성의 값을 보고합니다. 또한 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 태블릿 PC 버전 [데스크톱 앱만 해당]
지원되는 최소 서버 지원되는 버전 없음
대상 플랫폼 Windows
헤더 peninputpanel.h
DLL Tiptsf.dll

추가 정보

ITextInputPanel 인터페이스

ITextInputPanel::SetInPlaceHoverTargetPosition 메서드

ITextInputPanel::SetInPlaceVisibility 메서드