ITextInputPanel::SetInPlacePosition 메서드(peninputpanel.h)
[ITextInputPanel 은 요구 사항 섹션에 지정된 운영 체제에서 사용할 수 있습니다. 이후 버전에서는 변경되거나 제공되지 않을 수 있습니다. 대신 IInputPanelConfiguration을 사용합니다.
]
태블릿 PC 입력 패널을 화면 좌표로 명시적으로 배치합니다.
구문
HRESULT SetInPlacePosition(
int xPosition,
int yPosition,
CorrectionPosition position
);
매개 변수
xPosition
보정 빗이 보이지 않는 입력 패널의 왼쪽 위 모서리에 대한 가로 x 좌표입니다.
yPosition
입력 패널의 왼쪽 위 모서리에 대한 세로 y 좌표이며 보정 빗이 보이지 않습니다.
position
수정 처리 열거형에 정의된 대로 삽입 후 수정 빗이 팝업되는 방향입니다.
반환 값
입력 패널이 열려 있고(도킹 또는 부동) 이동할 수 없는 경우 false 를 반환합니다. 그렇지 않으면 true를 반환 합니다.
반환 코드 | Description |
---|---|
|
성공. |
|
지정되지 않은 오류가 발생했습니다. |
설명
입력 패널을 배치할 수 있는 위치에는 제한이 없습니다. 입력 패널이 화면에서 벗어나지 않도록 하는 것은 애플리케이션 개발자의 책임입니다. 이 용도로 ITextInputPanel::InPlaceBoundingRectangle 속성, ITextInputPanel::P opUpCorrectionHeight 속성 및 ITextInputPanel::P opDownCorrectionHeight 속성과 ITextInputPanelEventSink::InPlaceSizeChanging 메서드를 사용할 수 있습니다.
이 메서드는 동기적이며, 위치 지정은 메서드가 반환되기 전에 발생합니다.
예제
이 C++ 예제에서는 편집 컨트롤 IDC_EDIT3
에 EN_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 |